我正在尝试用Spring MVC编写一个简单的PUT请求方法。我得到了以下信息:
@RequestMapping(value = "/users/{id}", method = RequestMethod.PUT)
public @ResponseBody User updateUser(@PathVariable("id") long id,
String name,
String email) {
User user = repository.findOne(id);
user.setName(name);
user.setEmail(email);
System.out.println(user.toString());
repository.save(user);
return user;
} 这显然是错误的,因为它返回以下内容:
User{id=1, name='null', email='null'}我也尝试过@RequestBody注解,但也没有用。我在这里做错了什么,如果有任何想法,我将不胜感激。
发布于 2016-03-09 05:32:56
您没有告诉spring如何从请求中绑定name和email参数。例如,通过添加一个@RequestParam
public @ResponseBody User updateUser(@PathVariable("id") long id,
@RequestParam String name,
@RequestParam String email) { ... }name和email参数将从请求中的查询字符串中填充。例如,如果你向/users/1?name=Josh&email=jb@ex.com发出一个请求,你会得到这样的响应:
User{id=1, name='Josh', email='jb@ex.com'}为了更深入地了解如何定义处理程序方法,请查看spring documentation。
https://stackoverflow.com/questions/35878351
复制相似问题