ContentNegotiatingViewResolver のセットアップがあり、次のようなリクエストがあると正常に動作します: htttp://localhost:8080/api/getSubscriptions.json (JSON を返します) または htttp://localhost:8080/api/getSubscriptions.xml ( XML を返します)。
しかし、このリクエスト (パラメーターを追加) を実行しようとすると、htttp://localhost:8080/api/getSubscriptions?company=vivi&key=123456&carrier=1.json が返され、常に XML が返されます。
<mvc:annotation-driven/>
<bean id="contentNegotiationManager" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="ignoreAcceptHeader" value="true"/>
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
</bean>
これは私のコントローラのコードです:
@RequestMapping(value = "getSubscriptions", produces={"application/json", "application/xml"} )
public @ResponseBody Model getSubscriptions(
@RequestParam(value = "company", required = true) String company,
@RequestParam(value = "carrier", required = true) String carrier,
@RequestParam(value = "key", required = true) String key,
HttpServletRequest httpRequest) throws Exception { ... }
リクエストでパラメータを使用しているときに、Spring がメディア タイプ (json/xml) を認識するには何が欠けていますか?