- value (URL 값으로 매핑 되는 조건을 처리)
- method ( HTTP Request 메소드 값을 매핑조건으로 부여 ) - GET ,POST, PUT ,DELETE 등..
- params (같은 URL 이여도 , 요청 파라미터를 구분할수 있다.)
프론트단에서 JSON 로 데이터를 주고 받을땐 보통 두개를 썼다.
- produces (보통 이렇게 쓰인다, produces = MediaType.APPLICATION_JSON_UTF8_VALUE ) - 반환
HTTP 응답 헤더로 "Content-Type: application/json;charset=UTF-8"을 반환한다.
생략할 경우 메써드 리턴 타입에 따라 Content-Type을 자동으로 판단하여 반환한다. - consumes (보통 이렇게 쓰인다, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) - json인것만 처리
HTTP 요청 헤더가 "Content-Type: application/json;charset=UTF-8"인 것만 처리한다.
다른 값이 들어올 경우 org.springframework.web.HttpMediaTypeNotSupportedException을 발생시킨다.
HTTP 요청 헤더에 명시된 Content-Type은 HTTP 요청 바디의 형식을 의미한다. 즉, 서버에서는 JSON 형식의 바디만 처리하겠다는 의미이다.
참고로 GET 요청은 바디를 가지지 않으므로 파라미터를 명시할 필요가 없다.
'Spring Framework > 끄적끄적' 카테고리의 다른 글
[Spring] 스프링 어노테이션 정리 (1) | 2021.03.09 |
---|---|
[Spring] 스프링 @RequestParam과 @PathVariable (0) | 2021.03.09 |
[Spring] 스프링 @Controller 와 @RestController 차이 (0) | 2021.03.07 |
[Spring] @RequestBody, @ReponseBody 어노테이션 (0) | 2021.03.05 |
[Spring] RestAPI 란? (7) | 2021.02.17 |