250x250
Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개린이 개발노트

스프링 RequestMapping ( PutMapping, GetMapping 등과 비교하면서 기억하기) 본문

스프링Spring

스프링 RequestMapping ( PutMapping, GetMapping 등과 비교하면서 기억하기)

개린이9999 2022. 12. 10. 19:53
728x90

 

  • 해당 핸들러는 RequestMapping을 통해 핸들러 역할을 하게 된다.
  • 이때 메소드를 따로 명시하지 않으면 모든 메서드 요청을 다 허용하게 된다.

 

 

 

 

  • Get만 처리하고 싶다면 method에다 허용하고 싶은 RequestMethod를 설정해주면 된다.

  • 이제 Post요청을 보내보면 405로 Method NotAllowed 가 되는 것을 알 수 있다.

 

 

 

  • Get과 Post를 둘다 허용한다면 다음과 같이 할 수 있다.

 


 

Http 메소드에 대해 알아보자.

 

Get

  • 클라이언트가 서버에 있는 리소스를 요청할 때 사용한다
  • Get요청에 응답은 캐싱이 가능하다. 캐시와 관련된 헤더를 응답에 싣고 if-not-modified를 통해 조건 Get 가능하다.
  • 브라우저에 히스토리에 남게 된다.
  • 민감한 데이터를 보낼 때는 URL에 다 표기가 되기에 주의해야 한다.
  • 멱등 ( Idempotent )

( 동일한 get 요청은 동일한 응답을 return 한다 )

 

Post

  • 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용한다.
  • 서버에 보내는 데이터를 Post 요청 본문에 담는다.
  • 캐시 할 수 없다.
  • 본문에 담기 때문에 데이터 길이 제한이 없다.
  • 멱등 ( Idempotent) 이 아니다.

(같은 Post 요청은 매번 달라질 수 있다. )

 

 

Post와 Put의 차이?

 

Post

  • 데이터를 처리할 수 있는 리소스를 가리킨다
  • Idempotent 하지 않을 수도 있다.

Put

  • URL가 리소스 자체를 가리킨다.
  • 따라서 Idempotent 하다.

 

Patch

  • Put과의 차이점만 실어서 보내게 된다.
  • 리소스의 일부 데이터만 수정하고 싶은 경우 사용하게 된다.

 


 

 

 

 

728x90

'스프링Spring' 카테고리의 다른 글

@ResponseBody vs @RestController 차이점  (0) 2022.12.12
[Spring]스프링 DispatcherServlet  (0) 2022.12.12
스프링 @RestController  (0) 2022.12.10
스프링 @RequestBody , @ResponseBody  (0) 2022.12.10
[스프링] ResponseEntity  (0) 2022.12.09