@RequestMapping(value = "/{id}",method = RequestMethod.PUT)
public String updateAccount(@PathVariable("id") int id, @RequestParam(value = "mame",required = true)String name,
@RequestParam(value = "money",required = true)double money){
Account account=new Account();
account.setMoney(money);
account.setName(name);
account.setId(id);
int t=accountService.update(account);
if (t==1){
return account.toString();
}else {
return "fail";
}
}
我用测试工具通不过 可能是@PathVariable和@RequestParam的问题
{
"timestamp": 1502334349157,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MissingServletRequestParameterException",
"message": "Required String parameter 'mame' is not present",
"path": "/account/3"
}
这个是测试工具的反馈
主要是url的不同
@RequestParam时,url:http://localhost:port/path?参数名=参数值
@PathVariable时, url:http://localhost:port/path/参数值
@PathVariable:这个是直接写在url里面的参数,如:http://ww.baidu.com?name=xxx&pwd=xxx中的name=xxx&pwd=xxx参数部分。 get请求
@RequestParam:是封装在requestbody里面的请求参数。post请求
@PathVariable:从url里面取数据
@RequestParam:从参数里面取数据
name ??? 还是mama????
其他区别楼上都说的很明白
http://localhost:8080/100?mame=hello&money=1089
按照你的,应该是这个URL,你试试能用不。