Spring MVC HTTP Method

Spring Web MVC

백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글

HTTP Method

HTTP Method : GET, POST, PUT, PATCH, DELETE …

Spring에서는 위의 HTTP METHOD를 처리해주는 애노테이션이 존재한다.

@RequestMapping은 Spring에서 HTTP 요청을 처리하기 위한 핸들러를 명시하는 애노테이션이다.

스프링에서는 HTTP 메소드를 명시하지않으면 모든 HTTP 메소드를 처리한다.

@RequestMapping에 Root URL에 GET 메소드로 호출되는 응답을 처리하고 싶은 경우 다음과 같이 가능하다.

@RequestMapping(value = "/", method = RequestMethod.GET)

위의 요청은 조금 더 간략화 할 수 있다.

@GetMapping("/")

또한 클래스 레벨에 설정이 가능한데,

@RequestMapping(method = RequestMethod.GET)
public class Test {
    ...
}

이 경우 클래스 내부에 존재하는 모든 핸들러에 요청을 GET으로 처리한다는 것을 의미한다.

HTTP 메소드 별 특징에 대해서도 간략히 알아보자.

GET 요청

  • 클라이언트가 서버의 리소스를 요청할 때 사용.
  • 캐싱 가능 (조건적인 GET으로 바뀔 수 있다.)
  • 브라우저 기록에 남는다.
  • 북마크 할 수 있다.
  • 민감한 데이터를 보낼 때 사용하지 말 것 (URL에 다 노출된다.)
  • Idemponent - 멱등성을 보장한다. 즉 항상 같은 결과

POST 요청

  • 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용한다.
  • 서버에 보내는 데이터를 POST 요청 본문에 담는다.
  • 캐시할 수 없다.
  • 브라우저 기록에 남지 않는다.
  • 북마크 할 수 없다.
  • 데이터 길이 제한이 없다.

PUT 요청

  • URI에 해당하는 데이터를 새로 만들거나 수정할 때 사용한다.
  • POST와 다른 점은 “URI”에 대한 의미가 다르다.
    • POST의 URI는 보내는 데이터를 처리할 리소스를 지칭한다.
    • PUT의 URI는 보내는 데이터에 해당하는 리소스를 지칭한다.
  • Idemponent

PATCH

  • PUT과 비슷하지만, 기존 엔티티와 새 데이터의 차이점만 보낸다는 차이가 있다.
  • Idemponent

DELETE 요청

  • URI에 해당하는 리소스를 삭제할 때 사용한다.
  • Idemponent

Reference

인프런 백기선님의 스프링 Web MVC



© 2022. by minkuk

Powered by minkuk