Development/JAVA
Content-Type, Accept
루루지
2022. 3. 17. 17:52
반응형
스프링에서 아래와 같이 RequestMapping에 produces, consumes속성을 줄 수 있다.
@RequestMapping(value = "/api", produces = MediaType.APPLICATION_JSON_VALUE)
@RequestMapping(method = RequestMethod.POST, value = "/", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
Content-Type = consumes, Accept = produces로 볼 수 있는데
- Content-Type
: PUT, POST 요청시 보낼 데이터의 형식을 서버에 알려주는 것.
- Accept
: 클라이언트에서 웹서버로 요청시 요청메시지에 담기는 헤더.
@RequesMapping에 produces = MediaType.APPLICATION_JSON_VALUE로 되어있으면 클라이언트에게 json으로 전달.
GET의 경우, body가 없어서 queryString방식으로 key, value로 넘기기 때문에 content-type가 필요없다.
POST, PUT과 같이 body에 데이터를 담아 보낼 경우, 이 데이터가 어떤 데이터인지 알려줘야 한다.
※ 데이터 형식 참고
- application/json
POST /board HTTP/1.1
Content-Type: application/json
{
"name":"tistory",
"age":"33"
}
- application/x-www-form-urlencoded
POST /board HTTP/1.1
Content-Type: application/x-www-form-urlencoded
name=tistory&age=33