Backend/Spring+Boot
@RequestMapping consumes, produces
findmypiece
2021. 7. 7. 09:55
728x90
@ReqeustMapping 정의시 아래와 같이 consumes와 produces 를 정의할 수 있다.
@RequestMapping("/test"
, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE
, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public String hello(){
return "hello";
}
consumes 는 클라이언트로부터 수신하고자 하는 데이터 포맷을 지정하는 것이고 produces는 서버에서 응답하고자 하는 데이터 포맷을 지정하는 것이다.
클라이언트 입장에서는 서버쪽 api 호출시 보낼 데이터의 포맷을 Content-Type 이라는 헤더값으로 명시하고 응답받을 수 있는 데이터 포맷을 Accept 헤더값으로 명시한다.
위와 같은 api 를 호출할 경우 해당 Content-Type 헤더값을 application/json 으로 명시하지 않는다면 416 에러를 응답받을 것이고 Accept 헤더에 application/json 가 포함되지 않는다면 406 에러를 응답받을 것이다.
728x90