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を使用しています。