0

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) を認識するには何が欠けていますか?

4

1 に答える 1

0

代わりに次の URL を試してください。

htttp://localhost:8080/api/getSubscriptions.json?company=vivi&key=123456&carrier=1
于 2013-11-09T00:27:46.203 に答える