从angularjs获取弹簧mvc的URL参数

时间:2013-12-29 01:25:19

标签: angularjs spring-mvc url-parameters

我正在尝试通过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的新手 任何建议都会非常感激。

2 个答案:

答案 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