$resource URL 带有路径内参数

$resource URL with in-path parameter

我在服务中有以下方法:

function getMyData() {
    if (service.myData === NULL) {
        service.myData = $resource(API.MY_DATA, {}).query();
    }
    return service.myData;
}

API.MY_DATA = '/path1/path2/path3/:myparam'

:myparam 参数将是一个整数,代表后端需要使用的 id,以便对 return GET 请求所请求的内容执行适当的查询。

问题:如何在我的 getMyData 方法中适当地传递此参数,使其解析为类似以下内容:

/path1/path2/path3/568?

function getMyData() {
   if (service.myData === NULL) {
       var api = $resource(API.MY_DATA, {}); 
       service.myData = api.query({'myparam', value}); 
   }
   return service.myData;
 }

我建议您创建一个工厂,这样您就可以重用该服务,而不是每次需要使用它时都重新创建。这样你只需要注入factory/service。

.factory("apiService", ['$resource', function($resource){
  return $resource( url, null, {extra api call if need}); 
}