我在数据库中插入值时收到400 Bad请求。新数据已成功插入,但在浏览器中却提供了错误的请求。对于后端,我使用的是Spring控制器和mongoDB,使用angularJs控制器。 请参阅以下代码。谁能说出问题是什么?
Spring控制器代码 -
@RequestMapping(value="/users/update/{id}/{firstName}/{lastName}/{email}/{mobile}/{creation_time}/{status}",method = RequestMethod.POST,headers="Accept=application/json")
public List<User> updateUser(@PathVariable int id,@PathVariable String firstName,@PathVariable String lastName,@PathVariable String email,@PathVariable String mobile,@PathVariable long creation_time,@PathVariable String status) throws ParseException {
Date date = new Date(creation_time);
User user = new User();
user.setFirstName(firstName);
user.setLastName(lastName);
user.setEmail(email);
user.setMobile(mobile);
user.setLast_update_time(new Date());
user.setCreation_time(date);
user.setStatus(status);
userService.updateUserService(user);
return userService.getAllUserService();
}
Angular Js控制器 -
$scope.updateUser=function(user){ $http.post(urlBase+'users/update/'+user.id+'/'+user.firstName+'/'+user.lastName+'/'+user.email+'/'+user.mobile+'/'+user.creation_time+'/'+user.status)
.success(function(data) {
$scope.users = data;
$scope.selected = {};
});
};
答案 0 :(得分:0)
您在方法标题中缺少注释@ResponseBody。 试试:
@RequestMapping(value="/users/update/{id}/{firstName}/{lastName}/{email}/{mobile}/{creation_time}/{status}",method = RequestMethod.POST,headers="Accept=application/json")
public @ResponseBody List<User> updateUser(.....){
....
}
答案 1 :(得分:0)
我得到了解决方案,发送了#id;&#39;在路径中的字段,已删除相同,它似乎工作正常。谢谢大家的回答。