HTTP

HTTP API

느리지만 꾸준하게 2022. 4. 27. 15:51

API 설계를 해보자.

  • 회원 목록 조회

 

  • 회원 조회

 

  • 회원 등록

 

  • 회원 수정

 

  • 회원 삭제

 

아래의 좋지 않은 설계를 보자.

  • 회원 목록 조회 / read-member-list

 

  • 회원 조회 / read-member-by-id

 

  • 회원 등록 /  creadte-member

 

  • 회원 수정 / update-member

 

  • 회원 삭제 / delete-member

 

 

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

  • API URI 고민

 

  • 리소스의 의미는?

 

  • 회원을 등록하고 수정하고 조회하는게 리소스는 아님

 

  • 회원이라는 개념 자체가 바로 리소스

 

  • 리소스를 어떻게 식별할까

 

  • 회원을 등록하고 수정하고 조회하는 것을 모두 배제

 

  • 회원이라는 리소스만 식별하자.

 

  • 회원 리소스를 URI에 매핑

 

 

리소스 식별, URI 계층 구조 활용(URI 설계는 리소스 식별 + URI 계층 구조로 설계 하는것이 제일 중요)

 

  • members

 

  • members/{id}

 

  • members/{id}

 

  • members/{id}

 

  • members/{id}

 

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

 

 

=> ? 근데 이걸 어떻게 구분하지?

 

 

 

리소스와 행위를 분리하자!

 

 

중요한 것은 리소스를 식별하는 것이다.

URI는 리소스만 식별

리소스와 해당 리소스를 대상으로 하는 행위를 분리

 

 

  • 리소스: 회원

 

  • 행위 : 조회, 등록, 삭제, 변경

 

리소스는 명사, 행위는 동사

 

 

행위(메서드)는 어떻게 구분할까?

 

 

 

GET, POST 방식에서 알아보자.

 

 

 

 

 

 

 

 

 

 

 

<출처 김영한: 모든 개발자를 위한 HTTP 웹 기본 지식 >

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com

 

 

'HTTP' 카테고리의 다른 글

HTTP 메서드 - PUT, PATCH, DELETE  (0) 2022.04.27
HTTP 메서드 - GET, POST  (0) 2022.04.27
HTTP 메시지  (0) 2022.04.07
비 연결성(connectionless)  (0) 2022.04.07
Stateful, Stateless  (0) 2022.04.07