◽ Spring, SpringBoot

[Spring - 어노테이션(Annotation) ] @RequestMapping, @GetMapping, @PostMapping, @RequestMapping → url 처리

@RequestMapping

  method는 아래의 @GetMapping과 @PostMapping으로 설명을 하고 있으니 생략을 하겠다. @Mapping에서는 produces와 consumes이 존재하는데 이것은 어떤 기능을 하는지 살펴보자. 바로 말하자면 JSON을 사용하기 위한 것이다.

 

참고로 아래와 같이 선언하여 둘 다 쓰일 수 있다.
( consumes = MediaType.APPLICATION_JSON_UTF8_VALUE,  
produces = MediaType.APPLICATION_JSON_UTF8_VALUE)

  • produces (보통 이렇게 쓰인다, produces = MediaType.APPLICATION_JSON_UTF8_VALUE )

    HTTP 응답 헤더로 "Content-Type: application/json;charset=UTF-8"을 반환한다.
    생략할 경우 메써드 리턴 타입에 따라 Content-Type을 자동으로 판단하여 반환한다.

  • consumes (보통 이렇게 쓰인다, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)

    HTTP 요청 헤더가 "Content-Type: application/json;charset=UTF-8"인 것만 처리한다.
    다른 값이 들어올 경우 org.springframework.web.HttpMediaTypeNotSupportedException을 발생시킨다.
    HTTP 요청 헤더에 명시된 Content-Type은 HTTP 요청 바디의 형식을 의미한다. 즉, 서버에서는 JSON 형식의 바디만 처리하겠다는 의미이다.
    참고로 GET 요청은 바디를 가지지 않으므로  파라미터를 명시할 필요가 없다.

 

 

 

@GetMapping, @PostMapping

  @RequestMapping(method = RequestMethod.GET) 의 축약형으로써, 애너테이션만 보고 무슨 메소드 요청인지 바로 알아볼 수 있다.

 

 

@RequestMapping

https://code-examples.net/ko/q/254479b

푸터바