좋은 URI 설계 부터 시작한다.
좋은 URI 설계는 리소스를 식별하는게 중요하다.
회원관리 기능을 기준으로 해보자
조회, 등록, 수정, 삭제 기능이 있따고 가정한다.
회원 목록조회 /members
회원 조회 /members/{id} => 어떻게 구분하지..?
회원 등록 /members/{id} => 어떻게 구분하지..?
회원 수정 /members/{id} => 어떻게 구분하지..?
회원 삭제 /members/{id} => 어떻게 구분하지..?
URI가 모두 같은데 어떻게 기능을 구분할까..??
=> HTTP 메서드를 행위를 분리 한다.
GET
POST
클라이언트 : 서버 !너한테 정보를 줄테니까, 서버 너가 데이터를 처리해줘 !
( 메세지 바디를 통해 데이터를 전달하여, 처리를 요청 )
생성이 되었다, 201 응답 코드
생성된 위치 /members/100
정리 : 이 리소스 URI에 POST요청이 오면 요청 데이터를 어떻게 처리할지 리소스마다 따로 정해야 한다.
-> 정해진 것이 없다.
단순히 생성, 변경이 아닌 프로세스를 처리해야하는 경우가 중요하다.
실무에서 리소스로만 URL를 설계하기 어려워 필요한경우 컨트롤 URI를 사용한다.
PUT
* 리소스를 완전히 대체 ! ( 기존리소스를 완전히 삭제하고, 대체 하는 느낌 ) PATCH 는 부분 변경
* 클라이언트가 데이터(리소스) 의 위치를 정확히 알고 있는 경우에 사용한다라는 점에서
POST의 차이가 있다.
PATCH: 리소스 부분 변경 ( PATCH 가 지원이 안되는 서버들이 종종 있다.) -> POST 사용
DELETE : 리소스 제거
중요
'Java Spring' 카테고리의 다른 글
HTTP ) 참고하면 좋은 URI 설계 개념 (0) | 2025.02.10 |
---|---|
HTTP ) POST , PUT 정리 (0) | 2025.02.10 |
HTTP ) 메세지 구조 (0) | 2025.02.05 |
HTTP 란? , Stateful, Stateless, 비연결성 (0) | 2025.02.04 |
HTTP ) URI 와 웹 브라우저 요청 흐름 (0) | 2025.02.04 |