json으로 return시 접미어가 붙는현상
- 작성자 :
- 하*
- 작성일 :
- 2019-07-08 16:48:06
- 조회수 :
- 2,346
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
ModelAndView modelandview = new ModelAndView("jsonView");
modelandview.addObject(userService.UserList(parameters));
return modelandview;
위와같은방법으로 ajax통신중입니다. (userService.UserList()의 반환형은 List<?> 입니다.)
하지만 받는측에서 데이터를 찍어보면
{"modelAndView":{"empty":true,"model":{},"modelMap":{},"reference":false,"status":null,"view":null,"viewName":""},"egovMapList": [{"userid":"TEST","username":"test", ~~~~ }]}
위와같은 접미들이 붙습니다.. 자동으로 붙여주는거같은대
그냥 깔끔하게 아래와같이 원본 json을 넘길수는 없을까요..
[{"userid":"TEST","username":"test", ~~~~ }]
==================================================
이전에 위와같이 질문을 하였을때 VO를 따로 생성하면 된다고 답변을 받았습니다.
VO로 만들어서 넘길시.. egovMapList부분이 xxxVO로만 바뀌어 전달됩니다.
Controller부분에서 toString으로 원하는 형식으로 만들었고, toString으로 넘겨줘도 접미가 붙습니다.
modelandview.addObject(userService.UserList(parameters).toString());
return modelandview;
현재 개발환경이 샘플 웹프로젝트로 생성해서 사용하고 있습니다.
기타 설정부분에서 접미를 붙여주는거같은대 찾을수가 없내요..
혹시 어느부분인지 알수있을까요...
modelandview.addObject(userService.UserList(parameters));
return modelandview;
위와같은방법으로 ajax통신중입니다. (userService.UserList()의 반환형은 List<?> 입니다.)
하지만 받는측에서 데이터를 찍어보면
{"modelAndView":{"empty":true,"model":{},"modelMap":{},"reference":false,"status":null,"view":null,"viewName":""},"egovMapList": [{"userid":"TEST","username":"test", ~~~~ }]}
위와같은 접미들이 붙습니다.. 자동으로 붙여주는거같은대
그냥 깔끔하게 아래와같이 원본 json을 넘길수는 없을까요..
[{"userid":"TEST","username":"test", ~~~~ }]
==================================================
이전에 위와같이 질문을 하였을때 VO를 따로 생성하면 된다고 답변을 받았습니다.
VO로 만들어서 넘길시.. egovMapList부분이 xxxVO로만 바뀌어 전달됩니다.
Controller부분에서 toString으로 원하는 형식으로 만들었고, toString으로 넘겨줘도 접미가 붙습니다.
modelandview.addObject(userService.UserList(parameters).toString());
return modelandview;
현재 개발환경이 샘플 웹프로젝트로 생성해서 사용하고 있습니다.
기타 설정부분에서 접미를 붙여주는거같은대 찾을수가 없내요..
혹시 어느부분인지 알수있을까요...
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용을 보면
VO 뿐만이 아니라 객체나 빈의 형상을
모두 json으로 파싱하는 상태인것으로 파악 됩니다.
공통컴포넌트 v3.8기준으로
Controller단에 @RequestMapping을 추가하여
동일한 코드로 테스트를 진행하여 보았습니다.
테스트 결과
정성적으로 List가 json으로 파싱되어 표시되었습니다.
공통컴포넌트 v3.8 환경에서는 문제가 없는것으로 확인됩니다.
기존 사용하시는 환경이
커스텀 환경인 경우 설정부분을 확인할 필요가 있을듯 합니다.
공통컴포넌트의 경우 다음에 해당 설정이 있습니다.
src/main/webapp/WEB -INF/config/egovframework/springmvc/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>
사용하시는 프로젝트에서 사용하시는 설정을 점검해 보셔야 할듯 합니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용을 보면
VO 뿐만이 아니라 객체나 빈의 형상을
모두 json으로 파싱하는 상태인것으로 파악 됩니다.
공통컴포넌트 v3.8기준으로
Controller단에 @RequestMapping을 추가하여
동일한 코드로 테스트를 진행하여 보았습니다.
테스트 결과
정성적으로 List가 json으로 파싱되어 표시되었습니다.
공통컴포넌트 v3.8 환경에서는 문제가 없는것으로 확인됩니다.
기존 사용하시는 환경이
커스텀 환경인 경우 설정부분을 확인할 필요가 있을듯 합니다.
공통컴포넌트의 경우 다음에 해당 설정이 있습니다.
src/main/webapp/WEB -INF/config/egovframework/springmvc/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>
사용하시는 프로젝트에서 사용하시는 설정을 점검해 보셔야 할듯 합니다.
감사합니다.