我收到發送到服務器的PUT請求時遇到問題。Spring框架,啓用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請求是由GET方法,而不是由PUT方法在我的課..處理了屏幕上,它總是讀作「得到請求」。我檢查了瀏覽器日誌並確認他們發送了正確的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: 對不起,好像檢查日誌的時候..我抓住了這個警告,兩次我都沒有很透徹。
WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
任何想法如何解決這個問題?
如果調用getCity,則請求是GET方法。不需要額外的配置,您必須發送錯誤的請求。你確定你的客戶做得對嗎? – skaffman 2011-04-02 07:30:58
是的..我確信客戶做的是正確的事情。它正在登錄到控制檯。試着用chrome和firefox,並且都發送了PUT請求。 – Magician 2011-04-02 07:38:43
將'HttpServletRequest'參數添加到'getCity',然後記錄'request.getMethod()',看看有什麼說的。 – skaffman 2011-04-02 08:01:08