@RequestBody > json값 받을 때 설정 방법
- 작성자 :
- 뷰*
- 작성일 :
- 2022-04-19 08:41:08
- 조회수 :
- 3,707
- 구분 :
- 적용지원(기술지원)
- 진행상태 :
- 완료
Q
dependency 부분
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.6.7</version>
</dependency>
dispatcher-servlet.xml 부분
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.rte.cmmn.web.EgovBindingInitializer" />
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
</list>
</property>
</bean>
전자정부프레이워크 묻고 답하기에 있는 질문 내용 찾아서 참고 해서 위와 같이 설정 하고
POST 방식으로
body에 json 값 아래와 같이 담아서 전달 합니다.
{
"name" : "뷰베",
"details" : {
"age" : 30,
"address" : "서울특별시 강남구 대치동"
}
}
// 위의 내용을 받는 api 서버
@RequestMapping(value = "/businesses", method=RequestMethod.POST)
@ResponseBody
@ResponseStatus(HttpStatus.CREATED)
public String createBookings(@RequestBody Map<String, Object> json) {
JSONObject result = new JSONObject();
// body json 값 출력
log.info("> " + json);
return result.toString();
}
post 방식 으로 body 값 넣어서 보내면 api 서버에서 받아서 값을 처리 하고자 하는데 아래와 같이 오류가 나옵니다.
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.6.7</version>
</dependency>
dispatcher-servlet.xml 부분
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="egovframework.rte.cmmn.web.EgovBindingInitializer" />
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
</list>
</property>
</bean>
전자정부프레이워크 묻고 답하기에 있는 질문 내용 찾아서 참고 해서 위와 같이 설정 하고
POST 방식으로
body에 json 값 아래와 같이 담아서 전달 합니다.
{
"name" : "뷰베",
"details" : {
"age" : 30,
"address" : "서울특별시 강남구 대치동"
}
}
// 위의 내용을 받는 api 서버
@RequestMapping(value = "/businesses", method=RequestMethod.POST)
@ResponseBody
@ResponseStatus(HttpStatus.CREATED)
public String createBookings(@RequestBody Map<String, Object> json) {
JSONObject result = new JSONObject();
// body json 값 출력
log.info("> " + json);
return result.toString();
}
post 방식 으로 body 값 넣어서 보내면 api 서버에서 받아서 값을 처리 하고자 하는데 아래와 같이 오류가 나옵니다.
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported
환경정보
-
- OS 정보 :
- 표준프레임워크 버전 : <egovframework.rte.version>3.5.0</egovframework.rte.version>
- JDK(JRE) 정보 : 1.8
- WAS 정보 :
- DB 정보 :
- 기타 환경 정보 : <spring.maven.artifact.version>4.0.9.RELEASE</spring.maven.artifact.version>
A
안녕하세요.
표준프레임워크센터입니다.
JSP의 ajax 설정에 contentType 이 application/json 으로
명시되어 있는지 확인해보시기 바랍니다.
사용 예 >> contentType: "application/json; charset=UTF-8"
감사합니다.
표준프레임워크센터입니다.
JSP의 ajax 설정에 contentType 이 application/json 으로
명시되어 있는지 확인해보시기 바랍니다.
사용 예 >> contentType: "application/json; charset=UTF-8"
감사합니다.