サーバーに送信されたPUTリクエストのキャプチャで問題が発生しました。
これらは私の方法です:
@RequestMapping(method= RequestMethod.GET)
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}
@RequestMapping(method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}
呼び出しをトレースしたとき、PUT要求はクラスのPUTメソッドではなく、GETメソッドによって処理されました。画面外では、常に「getrequest」と表示されます。ブラウザのログをチェックして、正しいPUTリクエストが送信されたことを確認したので、ここでSpringの設定を見逃したと思いますが、それが何であるかわかりません。
誰か助けてもらえますか?
ありがとうございました。
編集:クラスの追加コード:
@Controller
@RequestMapping(value="/retail/{cid}/master/city")
public class City {
@RequestMapping(value="/foo1", method= RequestMethod.GET)
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}
@RequestMapping(value="/foo2", method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}
}
EDIT2:申し訳ありませんが、ログを調べるときにあまり徹底していなかったようです。この警告を2回キャッチしました。
警告:アノテーション処理のエラー:java.lang.NoClassDefFoundError:org / aopalliance / intercept / MethodInterceptor
それを修正する方法はありますか?