버전3.2에서 jackson 사용문의합니다.
- 작성자 :
- 김*민
- 작성일 :
- 2019-11-09 13:33:36
- 조회수 :
- 2,061
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
egov 3.2버전을 사용하고 있습니다.
jackson을 사용하려고 하는데요.
pom.xml에 jackson-databind을 추가하고 egov-com-servlet.xml에는 아래와 같이 추가했습니다.
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="contentType" value="text/html;charset=UTF-8"/>
</bean>
그런데 @RequestBody로 데이터를 받으려고 할때 Map<String, Object>로 받아지지 않고 있습니다.
화면에서는 아래와같이 데이터를 전송하고 있습니다.
$.ajax({
type:'post',
url: url,
data: JSON.stringify(jsonData),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
})
Controller.java에서 데이터 타입을 Map으로 선언해서 받으려고 할때, 해당 URL로 접근을 못하는지 이클립스 로그도 안찍힙니다.
화면에서는 parseerror로 에러가 잡히구요.
그런데 Controller.java에서 @RequestBody String {변수명} 으로 받으면 json형태의 String으로 데이터가 받아집니다...
급한데로 Map으로 변환작업을 거쳐서 사용하고 있긴한데요...
혹시 제가 설정부분을 빼먹을게 있는지 궁금합니다.. ㅠㅠ
jackson을 사용하려고 하는데요.
pom.xml에 jackson-databind을 추가하고 egov-com-servlet.xml에는 아래와 같이 추가했습니다.
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="contentType" value="text/html;charset=UTF-8"/>
</bean>
그런데 @RequestBody로 데이터를 받으려고 할때 Map<String, Object>로 받아지지 않고 있습니다.
화면에서는 아래와같이 데이터를 전송하고 있습니다.
$.ajax({
type:'post',
url: url,
data: JSON.stringify(jsonData),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
})
Controller.java에서 데이터 타입을 Map으로 선언해서 받으려고 할때, 해당 URL로 접근을 못하는지 이클립스 로그도 안찍힙니다.
화면에서는 parseerror로 에러가 잡히구요.
그런데 Controller.java에서 @RequestBody String {변수명} 으로 받으면 json형태의 String으로 데이터가 받아집니다...
급한데로 Map으로 변환작업을 거쳐서 사용하고 있긴한데요...
혹시 제가 설정부분을 빼먹을게 있는지 궁금합니다.. ㅠㅠ
A
안녕하세요.
표준프레임워크센터 입니다.
Controller.java에서 데이터 타입을 Map으로 선언해서 받으려고 할때
화면에서는 parseerror로 에러가 잡힌다고 하셨는데요.
JSON요청시에는
@RequestParam이 아니고
@ResponseBody로 파라미터 앞에 선언하시면 됩니다.
JSON파라미터와 String형태의 Key/Value형태는 다르기 때문에
처리하는 설정을 약간 수정해 주어야 합니다.
다음 URL을 참고하시면 좋을듯 합니다.
https://stackoverflow.com/questions/38262055/how-to-post-a-json-payload-to-a-requestparam-in-spring-mvc?rq=1
감사합니다.
표준프레임워크센터 입니다.
Controller.java에서 데이터 타입을 Map으로 선언해서 받으려고 할때
화면에서는 parseerror로 에러가 잡힌다고 하셨는데요.
JSON요청시에는
@RequestParam이 아니고
@ResponseBody로 파라미터 앞에 선언하시면 됩니다.
JSON파라미터와 String형태의 Key/Value형태는 다르기 때문에
처리하는 설정을 약간 수정해 주어야 합니다.
다음 URL을 참고하시면 좋을듯 합니다.
https://stackoverflow.com/questions/38262055/how-to-post-a-json-payload-to-a-requestparam-in-spring-mvc?rq=1
감사합니다.