본문 바로가기
IT 공부/새로운 시작

HTTP(6) - HTTP 메소드

by 수박한암살자 2021. 10. 17.

우리가 API를 설계할 때 어떻게 만들어야할까?

 

회원 정보 API를 만들어보자.

  • 회원 목록 조회 : ~/read-member-list
  • 회원 조회 : ~/read-member-by-id
  • 회원 등록 : ~/add-member
  • 회원 수정 : ~/update-member
  • 회원 삭제 : ~/delete-member

이렇게 만들어야할..것 같지만 아니다.

API에서 나타나야할 것은 리소스다.

 

회원을 등록하고 조회하고 삭제하는 행위리소스가 아니다.

여기서 리소스는 바로 회원이다.

 

따라서 위 API는 아래와 같이 표현하게 된다.

  • 회원 목록 조회 : ~/members
  • 회원 조회 : ~/members/{id}
  • 회원 등록 : ~/members
  • 회원 수정 : ~/members/{id}
  • 회원 삭제 : ~/members/{id}

({id}는 임의의 회원 id가 유연하게 들어가는 데이터다.)

 

근데 이것만으로는 대체 어떤 API가 조회하고 등록하는지 알 수가 없다.

이 문제를 해결해주는 행위를 표현해주는 것이 HTTP 메소드다.

 

HTTP 메소드는 종류가 여러 개가 존재한다.

  • GET : 리소스 조회
  • POST : 요청 데이터 처리. 주로 리소스 등록
  • PUT : 리소스를 대체(update에 가까움). 해당 리소스가 없다면 새로 등록
  • PATCH : 리소스 부분 변경 (PUT과 다름)
  • DELETE : 리소스 삭제
  • 그 외 : HEAD, OPTIONS, CONNECT, TRACE

 

다음 글에서 해당 메소드들에 대해서 더 자세히 알아보도록 하겠다.


이번 내용은 쉽게 이해하기 좋은 비유 방식은 적절한 것이 없는 것 같다.

 

일종의 약속이라 생각하고 넘어가야 할 것 같다.

 

근데 위 설명에서는 API는 리소스로만 표현하도록 작성했지만

사실 실제로는 그렇지 않다.

실무를 하다보면 API를 리소스로만 표현하긴 안 좋은 상황도 존재한다.

 

그럴 땐 행위를 API에 표현해도 문제가 되지 않는다.

이와 관련해서도 차후 글에서 작성해보겠다.

반응형

댓글