GET http:// localhost:8080 / system / users / modify /:id 400(错误请求)

时间:2014-04-30 08:25:32

标签: angularjs spring-mvc

点击修改按钮后出现以下错误

GET http://localhost:8080/system/users/modify/:id 400 (Bad Request) 

js code

 .when('/users/modify/:id', {
            templateUrl: '/system/users/modify/:id',
            controller: 'ModifyUserController'            
        })

这是java代码

@RequestMapping(method = RequestMethod.GET, value = "/users/modify/{id}")
public String modifyUser(@PathVariable int id, @ModelAttribute(value = "loginModel") LoginModel loginModel, Model model) {   
    return "system/users/modifyUser";
}

如果像这样生成java标头

,它会起作用
public String modifyUser(@ModelAttribute(value = "loginModel") LoginModel loginModel, Model model) {

但我希望在此方法中获取id

2 个答案:

答案 0 :(得分:1)

假设Web服务器正在拾取的呼叫实际上是 GET http://localhost:8080/system/users/modify/:id(:id不会被Angular取代,或者你只是为了测试而调用它)

问题是您指定id必须是int。但是在这种情况下,你没有发送int,所以Spring抱怨并且正在抛出HTTP 400

答案 1 :(得分:1)

不幸的是它没有自动绑定param变量,我必须像我这样自己应用

templateUrl: function(param) {
    return '/system/users/modify/' + param.id;
},