我想用JQuery調用Spring REST WebService。用jQuery調用Spring REST WebService
我有我的控制器兩種方法:
@RequestMapping(value="/{id}", method=RequestMethod.GET)
public @ResponseBody User getUser(@PathVariable long id, Model model){
return new User("TestUser");
}
@RequestMapping(value="/{id}", method=RequestMethod.PUT)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void updateUser(@PathVariable long id, @Valid User user){
user.getName();
}
類用戶看起來是這樣的:
public class User {
private String name;
public User(){};
public User(String name){this.name = name;}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
};
}
現在,當我打電話http://localhost:8080/demo/user/2
結果是{ 「名」 :「TestUser」}像預期的那樣。
但是,試圖修改資源我試着像這樣的時候:
$.ajax({
url: "http://localhost:8080/demo/user/2",
dataType: "json",
data: '{"name":"NewTestUser"}',
type: "PUT",
success: function(){alert('success');}
});
我可以Debugmode看到合適的方法(UpdateUser兩個)被調用,但用戶對象的實例變量的名字總是空。有人可以告訴我我做錯了什麼嗎?謝謝!
的數據?例如,updateUser()函數應該如何知道它正在處理哪個User對象? – supertopi