스프링에서 아래와 같이 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
Oauth2 check_token 활성화 (0) | 2022.05.04 |
---|---|
배열을 문자열로 변환(String.join()) (0) | 2022.04.03 |
Gson (0) | 2022.03.12 |
[SpringBoot] Bean 어노테이션 (0) | 2022.03.03 |
직전에 쌓인 키값을 가져오기(Mybatis selectKey) (0) | 2022.01.23 |