회원 관리 시스템 API 설계 - POST 기반 등록
POST 방식을 사용하여 신규 자원을 등록 특징
클라이언트는 등록될 리소스의 URI를 모른다. 회원 등록 API에서 POST 방식을 사용하여 회원을 등록하면, 서버는 새로운 리소스의 URI를 생성한다.
이때, HTTP/1.1 201 Created 상태 코드와 함께 생성된 리소스의 URI 정보를 Location 헤더에 담아 응답한다.
이러한 방식을 서버에서 관리되는 리소스 디렉토리인 💡컬렉션(Collection)이라고 말한다. 서버는 리소스의 URI를 생성하고 관리하며, 여기서 회원 관리 시스템에서는 /members가 컬렉션의 URI가 된다.
파일 관리 시스템 API 설계 - PUT 기반 등록
POST 방식을 사용하여 신규 자원을 등록 특징
클라이언트가 파일의 URI를 알고 있어야 한다. 예를 들어, "/files/star.jpg"라는 URI에 PUT 요청을 보내면 해당 파일을 생성하거나 수정할 수 있다.
PUT 메서드를 사용하면 클라이언트가 💡스토어(store)라고 부르는 자신이 관리하는 리소스 저장소에서 리소스의 URI를 직접 관리한다. 이에 반해 POST 메서드를 사용할 때는 서버가 컬렉션(collection)이라고 부르는 리소스 디렉토리에서 새로운 리소스의 URI를 생성하고 관리한다.
⭐️대부분 개발실무에서는 PUT 기반보다, POST기반의 API를 설계한다.
HTML FORM 사용
HTML FORM은 GET, POST만 지원하며, 이로 인해 제약이 있다. 이러한 제약을 해결하기 위해, 동사로 된 리소스 경로를 사용해야한다. 예를 들어, 회원 등록 폼을 요청하는 경우 /members/new와 같이 동사를 사용한다.
이렇게 함으로써, GET과 POST 이외의 HTTP 메서드로 해결하기 어려운 상황에서도 제약 없이 기능을 구현할 수 있다.
컨트롤 URI로는 보통 POST의 /new, /edit, /delete가 사용되고, 이러한 URI를 사용하면 클라이언트가 어떤 동작을 요청하는지 명확하게 구분할 수 있다. URI를 사용하는 것은 HTTP API에서도 동일하게 적용된다.
정리 - 참고하면 좋은 URI 설계 개념
참고:REST API - URL Naming Conventions (restfulapi.net)
REST API - URL Naming Conventions
In REST, having a strong and consistent REST resource naming strategy – will prove one of the best design decisions in the long term.
restfulapi.net
출처 : 인프런 - 모든 개발자를 위한 HTTP 웹 기본지식 by 우아한형제 김영한이사님
'WEB HTTP > HTTP 기본' 카테고리의 다른 글
HTTP 상태코드 - 리다이렉션(Redirection)이해 (0) | 2023.03.20 |
---|---|
HTTP 상태코드 (0) | 2023.03.20 |
HTTP 메서드속성 - 안전, 멱등, 캐시가능 (0) | 2023.03.19 |
HTTP 메서드 - PUT, PATCH, DELETE (0) | 2023.03.17 |
HTTP 메서드 - GET, POST (0) | 2023.03.17 |