我正在尝试通过URL将值传递给spring控制器。在愤怒的一面,我使用位置服务来更改网址:
$location.path('/somePage/' + data.id);
somePage 的控制器触发后:
$routeProvider.when('/somePage/:id'
该控制器有一个需要从spring获取数据的方法:
$scope.item = Service.findById($routeParams.id);
findById本质上是一个http get:
findById: function() {
return $http.get('/something/data/id');
}
在春天,我有一个控制器:
@RestController
@RequestMapping("/something/data")
public class Controller {
@RequestMapping(value = "/{id}")
public Data findById(@PathVariable Long id) {
return repository.findById(id);
}
}
我无法从URL获取id参数。我是angularjs和spring的新手 任何建议都会非常感激。
答案 0 :(得分:1)
你在哪里将id传递给方法findById?它应该不是那样的吗?
findById: function(id) {
return $http.get('/something/data/' +id);
}
答案 1 :(得分:0)
检查您的PathVariable导入。它应该是
org.springframework.web.bind.annotation.PathVariable
但不是
org.springframework.messaging.handler.annotation.PathVariable