HTTP 메서드

김원종·2023년 8월 28일
0

HTTP API를 만들어보자

요구사항

회원 정보 관리 API 를 만들어라

5가지의 요구사항이 있는 상황이라고 하자 !

그럼 먼저 API URI을 설계한다
URL ( Uniform Resource Identifier )

초보 개발자는 이름을 읽기 좋게 지어야 겠다 생각하고 아래와 같이 설정했다고 하자

그럼 과연 이것이 좋은 URI 설계일까??


가장 중요한것은 리소스 식별 이다 !

  • 리소스의 의미는 뭘까??
    • 회원을 등록하고 수정하고 조회하는게 리소스가 아니다.
    • 예 ) 미네랄을 캐라 - > 미네랄이 리소스
    • 회원이라는 개념 자체가 바로 리소스이다.
  • 리소스를 어떻게 식별하는게 좋을까??
    • 회원을 등록하고 수정하고 조회하는 것을 모두 배제
    • 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI 에 매핑

이렇게 회원이 리소스로 생각해야한다. 그럼 리소스에 초점을 맞춰 다시 설계한다면?? URI 계층 구조를 활용하면?

  • 참고 : 계층 구조상 상위를 컬렉션으로 보고 복수단어 사용권장(member->members)

그럼 이렇게 설정하면 되나?? 근데 이렇게 설정하면 어떻게 구분을 할지 답이 나오질 않는다. {id} 부분에 아이디를 다 넣어줄텐데 같은 방식이라 다 똑같아진다.

그럼 어떻게 해야할까??

리소스와 행위를 분리
가장 중요한것은 리소스를 식별하는 것

  • URI는 리소스만 식별
  • 리소스와 해당 리소스를 대상으로 하는 행위를 분리해야한다
    • 리소스 : 회원
    • 행위 : 조회 , 등록 , 삭제 ,변경
  • 리소스는 명사 , 행위는 동사 (미네랄을캐라)

행위(메서드)는 어떻게 구분?? 이부분은 HTTP 메서드를 활용하는데 이부분은 따로 정리하도록 하자!

profile
개린이

0개의 댓글

관련 채용 정보