코드 저장소

공부에는 끝이 없다!

HTTP메서드 3

HTTP - HTTP API 설계

POST 기반 API와 PUT 기반의 API 1. Post 기반의 등록 회원 등록이라는 기능을 HTTP API를 통하여 만든다고 생각해보자. 우리는 POST 메서드를 이용하여 /members라는 URI를 통하여 회원 정보를 등록하게 될 것이다. URI를 잘 보면 뒤에 쿼리 파라미터가 따로 필요가 없는 것을 확인 할 수 있다. 이것은 POST는 바디를 통해 전달 받은 데이터를 어떻게 처리할 지 서로 규약을 통해 알고 있기 때문이다. 이때, /members를 Collection이라고 한다. Collection은 서버가 관리하는 리소스 디렉토리를 말하며 서버가 리소스의 URI를 생성하고 관리하는 것을 말한다. 또한, 앞선 강의에서 설명했듯 POST는 서버가 리소스 URI를 결정하기 때문에 클라이언트가 등록될 ..

HTTP 2024.01.15

HTTP - HTTP 메서드 (2)

PUT put은 리소스를 대체하는 메서드이다. 다만 리소스가 없으면 생성하고, 리소스가 있으면 대체한다. 예를 들어, 우리가 파일을 저장할때 같은 이름이 없으면 생성하고, 없으면 덮어씌우는 것과 같은 동작이다. PUT을 사용할 때 중요한 점이 있는데 클라이언트가 리소스를 식별한다는 것이다. 이게 무슨 말이냐면 이전에 POST 메시지를 살펴보자. POST /members HTTP/1.1 Content-Type: application/json { "userId":"1", "username":"hong" } URI를 보면 뒤에 /{id}값이 없다. 이는 POST 메서드는 클라이언트가 리소스를 식별하는 것이 아니라 POST로 들어온 데이터를 서버가 처리하는 것이 주 목적이기 때문이다. 하지만 PUT의 경우는 클..

HTTP 2024.01.11

HTTP - HTTP 메서드

HTTP API 설계 이번에는 HTTP API를 설계하는 과정을 배워보자. 당신에게 회원기능에 대한 API를 설계하라는 요청이 들어왔다. 회원 기능은 회원가입, 회원조회, 회원정보 수정, 회원 탈퇴의 4가지 기능이 있다고 가정한다. 그럼 가장 먼저 URI를 설계하게 될 것이다. 우리는 일반적인 명명규칙에 따라 회원가입 : /join-member/ 회원조회 : /read-member/ 회원정보 수정 : /update-member/ 회원탈퇴 : /delete-member/ 라고 URI를 작성하였다. 얼핏 보면 굉장히 잘 설계된 URI처럼 보이지만 실은 그렇지 않다. URI에서 가장 중요한 것은 리소스를 식별하는 것이기 때문이다. 그렇다면 우리 요구사항에서 리소스는 뭘까? 바로 회원이라는 개념 자체가 리소스가..

HTTP 2024.01.10