OK、私は春のMVCベースのjsonWebサービスを持っています。これはテストアプリです。SpringMVCベースのRESTfulJSONサービスを構築するときにこのような問題が発生したことはありません。テストサービスの出力は常に返され、空のjsonオブジェクト、&&、返したいデータが続きます。したがって、結果は次のようになります。
{} && {"status":200、 "serverTime":"2013年1月6日19:35:45EST"}
この非常に単純な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時間を吹き飛ばしました。