Java Spring

HTTP ) 메서드 GET,POST, PUT,PATCH, DELETE

Machine_웅 2025. 2. 6. 10:20
728x90
반응형

좋은 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 : 리소스 제거

 



 

 

중요

728x90
반응형