[SPRING] 간단한 스프링 mvc json 서비스에서 출력하기 전에 여분의 빈 {} json 객체가 &&와 함께 나타납니다.
SPRING간단한 스프링 mvc json 서비스에서 출력하기 전에 여분의 빈 {} json 객체가 &&와 함께 나타납니다.
좋아, 봄 MVC 기반 json 웹 서비스가있다. 이것은 테스트 응용 프로그램입니다. 스프링 MVC 기반의 편안한 json 서비스를 빌드 할 때 이와 같은 문제를 본 적이 없습니다. 내 테스트 서비스의 출력은 항상 json 객체를 반환하고 &&와 그 뒤에 반환하려는 데이터가옵니다. 결과는 다음과 같습니다.
{} && { "status": 200, "serverTime": "2013 년 1 월 6 일 7:35:45 EST"}
이 간단한 GET 요청을 처리하는 컨트롤러 메서드 코드는 다음과 같습니다.
@RequestMapping(value = "/test.json", method = RequestMethod.GET)
public ModelMap test(ModelMap m, HttpServletRequest request,
Locale locale) {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
m.addAttribute("serverTime", formattedDate);
m.addAttribute("status", 200);
return m;
}
나는 내 인생을 위해 위의 빈 {} json 객체가 어디에서 왔는지를 알 수 없다. 내 봄 설정은 다음과 같습니다 :
<beans:bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<beans:property name="mediaTypes">
<beans:map>
<beans:entry key="html" value="text/html" />
<beans:entry key="json" value="application/json" />
</beans:map>
</beans:property>
<beans:property name="defaultViews">
<beans:list>
<beans:bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<beans:property name="prefixJson" value="true" />
</beans:bean>
</beans:list>
</beans:property>
<beans:property name="viewResolvers">
<beans:list>
<beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<beans:property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
</beans:list>
</beans:property>
어떤 도움이라도 대단히 감사하겠습니다. 나는 왜 이것이 일어나고 있는지를 알아 내려고 일요일에 6 시간 동안 날아 갔다.
해결법
-
==============================
1.MappingJacksonJsonView javadoc의 경우 :
MappingJacksonJsonView javadoc의 경우 :
public void setPrefixJson(boolean prefixJson)
그래서 prefixJson을 false로 설정하여 시도 했습니까?
<beans:bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <beans:property name="mediaTypes"> <beans:map> <beans:entry key="html" value="text/html" /> <beans:entry key="json" value="application/json" /> </beans:map> </beans:property> <beans:property name="defaultViews"> <beans:list> <beans:bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"> <beans:property name="prefixJson" value="false" /> </beans:bean> </beans:list> </beans:property> <beans:property name="viewResolvers"> <beans:list> <beans:bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <beans:property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <beans:property name="prefix" value="/WEB-INF/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> </beans:list> </beans:property>
-
==============================
2.나는 같은 물건을 받고 있었고 당신이 제공 한 코드에서했던 것과 똑같은 실수를했습니다 :) 나는 우연히 컨트롤러 메소드에 주석 @ResponseBody를 추가하는 것을 실수로 잊어 버렸습니다.
나는 같은 물건을 받고 있었고 당신이 제공 한 코드에서했던 것과 똑같은 실수를했습니다 :) 나는 우연히 컨트롤러 메소드에 주석 @ResponseBody를 추가하는 것을 실수로 잊어 버렸습니다.
from https://stackoverflow.com/questions/14188545/i-am-getting-an-extra-empty-json-object-along-with-a-before-my-output-from by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] ModelAndView에서 리디렉션을 사용하는 방법 (0) | 2019.05.13 |
---|---|
[SPRING] Spring 응용 프로그램 속성에서 사용자 정의 객체를 가져올 수 있습니까? (0) | 2019.05.13 |
[SPRING] @Autowired와의 바인딩은 'new'로 시작된 인스턴스 안에서 작업하지 않습니다. (0) | 2019.05.13 |
[SPRING] Spring + Hibernate + Tomcat 종속성 문제 (0) | 2019.05.13 |
[SPRING] 스프링 웹 소켓 : 오프라인 사용자에게 메시지 보내기 - 메시지 브로커에 대기열에 포함되지 않은 메시지 (0) | 2019.05.13 |