Postman Clone 구축: PUT, PATCH, DELETE 추가
팀 코리의 비디오 "PUT, PATCH, and DELETE: Building a Postman Clone Course"에서는 남은 HTTP 동사를 처리하는 방법을 배워서 Postman 복제를 계속 빌드합니다. 이전 수업에서는 POST 명령어를 구현하고 GET 요청을 함께 구현했습니다. 이번 수업에서는 PUT, PATCH, DELETE에 초점을 맞춰, Postman 스타일의 API 클라이언트의 기본 기능을 완성합니다. 팀의 지침을 따르면 API 작동 방식과 개발자가 프로그램을 통해 상호 작용하는 방법에 대해 더 깊이 이해할 수 있습니다.
팀은 새로운 기능을 소개하는 것으로 이 수업을 시작하고, 이것이 전체 과정에서 여덟 번째 수업이라는 것을 설명합니다. 그는 이 프로젝트가 초보자에게 친숙하며 포트폴리오의 예시로 사용될 수 있지만, 코드를 직접 복사하기보다는 작업의 고유성을 유지하는 것이 중요하다고 강조합니다.
앱의 드롭다운 및 옵션 업데이트
팀은 앱의 설정을 보여주며 시작합니다. 현재 드롭다운 메뉴에는 GET과 POST를 선택할 수 있습니다. 기능이 완전한 Postman 복제를 구축하려면 옵션 목록에 PUT, PATCH 및 DELETE를 추가해야 합니다.
속성에서, 팀은 드롭다운 항목을 업데이트하여 여섯 가지 HTTP 동사가 모두 선택에 표시되도록 합니다: GET, POST, PUT, PATCH, DELETE. 그는 드롭다운 선택이 백엔드에서 사용되는 Enum과 일치해야 한다고 강조하며, 이는 API 클라이언트의 유효한 HTTP 작업을 정의합니다. 이것은 사용자가 드롭다운에서 옵션을 선택할 때 프로세스가 올바르게 기본 코드 논리에 매핑되도록 보장합니다.
사용자 선택을 HTTP 동작으로 매핑
팀은 사용자의 드롭다운 선택을 특정 HTTP 요청 메서드로 변환하는 앱의 작동 방식을 설명합니다. 시스템은 먼저 양식 HTML 입력에 입력된 URL을 확인한 다음 선택된 옵션을 순수한 JavaScript의 HTTP 동작으로 구문 분석합니다.
이 설정을 통해 앱이 CallApiAsync 메서드에 세 가지 주요 정보를 전달할 수 있습니다:
양식 HTML 입력의 URL.
보통 JSON 형식으로 폼 JavaScript 영역 또는 JSON 텍스트 편집기를 통해 입력된 본문 콘텐츠.
- HTTP 동사에 해당하는 선택된 동작.
이는 Postman 복제가 다양한 유형의 요청을 처리하고 응답 HTML 섹션에 표시되는 올바른 응답 JavaScript를 반환할 수 있도록 보장합니다.
PUT, PATCH, DELETE 메서드 구현
팀은 PUT, PATCH, DELETE를 처리하는 데 필요한 코드를 보여줍니다:
PUT: 전체 레코드를 업데이트합니다. API 클라이언트는 주어진 ID의 모든 필드를 덮어쓰면서 전체 JSON 객체를 전송합니다.
PATCH: 특정 필드만 업데이트합니다. 이는 레코드의 일부를 수정하고 싶을 때 유용합니다.
- DELETE: 레코드를 완전히 제거합니다. URL 및 ID만 필요합니다; 콘텐츠는 전송되지 않습니다.
팀은 DELETE가 약간 다르다는 것을 지적합니다. 콘텐츠를 반환하지 않고 성공 확인만 반환하기 때문입니다. 이러한 변경 사항은 모두 순수 JavaScript로 구현되어 모든 선택과 동작을 처리하도록 CallApiAsync 메서드를 수정합니다.
기능 테스트
팀은 각 HTTP 메서드가 예상대로 작동하는지 확인하는 것이 중요하다고 강조합니다.
GET: 팀은 드롭다운에서 GET을 선택하고 게시물을 가져옵니다. API 클라이언트는 올바른 응답 JavaScript를 반환하여 데이터가 응답 HTML 섹션에 표시됩니다.
PUT (5:01): PUT의 경우, 팀은 ID, 제목, 본문 및 사용자 ID를 포함하여 전체 레코드를 업데이트합니다. 제출한 데이터와 일치하는 JSON이 반환되는 것을 보여주며, 프로세스가 올바르게 작동함을 확인합니다.
PATCH (6:10): 팀은 제목만 업데이트하여 PATCH를 시연합니다. Postman 복제는 다른 필드를 그대로 두고, 부분 업데이트를 효과적으로 처리할 수 있음을 증명합니다.
- DELETE (7:32): DELETE는 레코드 ID만 필요합니다. 팀은 요청을 실행하고 빈 브래킷을 통해 성공을 확인하며, 불필요한 데이터를 반환하지 않고 레코드가 제거되었음을 나타냅니다.
이 과정을 통해 팀은 Postman 복제가 모든 CRUD 작업을 수행할 수 있음을 보여줍니다: 생성 (POST), 읽기 (GET), 업데이트 (PUT/PATCH), 삭제 (DELETE).
변경 사항 및 설정 요약
팀은 API 클라이언트를 향상시키기 위해 필요한 주요 단계 및 코드 변경을 요약합니다:
드롭다운 메뉴를 업데이트하여 모든 HTTP 동사를 옵션으로 포함합니다.
백엔드의 Enum이 각 동사를 일치하게 하여 선택이 올바르게 메서드에 매핑되도록 보장합니다.
- 추가 동사를 처리하고 데이터를 적절하게 처리하도록 JavaScript의 CallApiAsync 메서드를 수정합니다.
그는 삭제의 경우, 직렬화된 출력 대신 간단한 성공 메시지를 반환하여 사용자 경험을 간소화할 수 있는 선택 사항인 향상을 언급합니다.
Postman 복제의 현재 상태 및 기능
이 시점에서, Postman 복제는 모든 다섯 가지 HTTP 동사와 함께 완전히 기능적입니다. 사용자는 URL을 입력하고, 폼 JavaScript 편집기를 통해 JSON 데이터를 제출하며, 응답 HTML 디스플레이에서 응답을 받을 수 있습니다.
그러나 팀은 응용 프로그램을 향상시킬 수 있는 몇 가지 추가 기능을 언급합니다:
XML 요청 지원.
인증 처리.
- 사용자 지정 헤더 추가.
이는 개발자가 복제를 확장하고 더 다재다능하게 만들기 위한 기회입니다.
자신만의 Postman을 향상시키기 위한 팀의 조언
팀은 시청자에게 자신의 Postman 복제를 계속 구축하고 개선하라고 도전합니다:
WPF, Blazor 또는 평범한 HTML/JavaScript와 같은 프레임워크를 사용하여 웹 UI 인터페이스 추가.
추가 API를 포함하고 다양한 데이터 형식을 처리합니다.
드롭다운에서 다양한 옵션을 테스트하고 풍부한 기능을 위한 기능을 확장합니다.
- GitHub에 프로젝트를 공유하여 리포, 코드, 프로세스를 잠재적 고용주에게 보여줍니다.
그는 연습이 핵심이라고 강조합니다: 프로젝트를 빌드, 테스트, 반복하여 API 및 프로그래밍 개념을 깊이 이해합니다.
결론
팀은 실험을 장려하며 비디오를 마무리합니다. 그는 테스트 애플리케이션을 가지고 놀면서 개발자가 반복적인 연습을 통해 향상된다는 것을 즐깁니다.
시리즈의 GitHub 코드는 즉시 제공되지 않지만, 미래에 Dev Pass에서 제공될 수 있습니다. 현재 목표는 학습자가 처음부터 자신만의 Postman 복제를 구축하고, 설정, 프로세스, 코드 구현 연습을 하면서 프로젝트를 고유하게 만드는 것입니다.
팀의 접근 방식을 따르면, 개발자는 기능적 API 클라이언트를 만들고, HTTP 메서드를 이해하며, 폼 HTML, 응답 JavaScript 및 JSON 처리와 함께 실용적인 기술을 입증하는 포트폴리오 강화 프로젝트를 생산할 수 있습니다.

