Spring MVC 3アプリケーションに2つのリクエストマッピングがあります。1つはとを受け取り、jsonもう1つはデータxmlを受け取りapplication/x-www-form-urlencodedます。例:
@RequestMapping(value={"/v1/foos"}, method = RequestMethod.POST, consumes={"application/json", "application/xml"})
public FooDTO createFoo(@RequestBody FooDTO requestDTO) throws Exception {
...
}
@RequestMapping(value={"/v1/foos"}, method = RequestMethod.POST, consumes="application/x-www-form-urlencoded")
public FooDTO createFooWithForm(@ModelAttribute FooDTO requestDTO) throws Exception {
...
}
consumesを取得しますが、パラメーターが異なると各リクエストが一意になると予想しましたjava.lang.IllegalStateException: Ambiguous handler methods mapped...。
リクエストを一意にする必要がconsumesありますか?produces何か案は?
編集1:これに重みを加えるために、content-typeを使用するのではなくヘッダーにを設定するconsumesと、これは実際に機能し、一意になりますheaders="content-type=application/x-www-form-urlencoded。おそらくバグがありconsumesますか?
編集2: Spring3.1.1.RELEASEを使用しています。