Controller에서
consumes: 브라우저가 서버에게 보낼때 거르는 것이다.
produces: 서버에서 브라우저에게 보낼 때 거르는 것이다.
// consumes
@RequestMapping(value="/ex1", method="Requestmethod.GET", consumes="application/json")
public String ex1(){
return "ex1";
}
//Content-Type은 명시한 타입으로 보내겠다는 것을 의미한다.
$ curl -i -H "Content-Type:application/json" http://localhost:8080/ex1
// produces
@Requestmapping(value = "/ex1", method = "RequestMethod.GET", produces="application/json")
public String ex1(){
return "ex1";
}
// Accept는 명시한 타입으로 응답받겠다는 것을 의미한다.
$ curl -i -H "Accept: application/json" http://localhost:8080/ex1
consumes, produces 매개변수에 대입할 값으로 'applciation/json' 이라고 하드 코딩하지 않고 'MediaType.APPLICATION_JSON_VALUE' 등으로 대체할 수 있다.
자료 출처
Spring에서의 MediaType