My Space

반응형

스프링에서 아래와 같이 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

'Development > JAVA' 카테고리의 다른 글

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

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading