我正在使用AngularJS $resource 工厂来访问客户端 REST 服务。一些参数是用可选的路径参数而不是查询参数定义的。
情况1:
我调用myUrl/application-:applicationID/limit-:limit.json
和:
{
applicationID:"1234",
limit: 10
}
我得到了myUrl/application-1234/limit-10.json的正确 URL
案例二:
我调用myUrl/application-:applicationID/limit-:limit.json
和:
{
applicationID:"1234"
}
我希望生成的 url 忽略可选limit
参数并折叠到myUrl/application-1234.json
但是,我得到的是myUrl/application-1234/limit-.json
*编辑我有几个 API 类别,例如 Foo1、Foo2,每个都有几个端点,例如 endPoint1、endPoint2,并且使用@Deiter 帖子中的方法,我看不到在不使用临时类别名称然后绑定的情况下干净地列出所有资源的方法最后他们都在一起。
MyServices.factory ( 'MyAPI', ['$resource',
function ( $resource ) {
return {
Foo1: $resource ( '',
{
application: "@applicationID",
limit: "@limit"
},
{
endPoint1: {
...
},
endPoint2: {
url: "myURL/application-:applicationID/limit-:limit.json",
method:'GET',
isArray:true
},
}),
Foo2: $resource ( '',
{
application: "@applicationID"
},
{
endPoint1: {
...
},
endPoint2: {
...
}
}),
}
}]);
示例调用:
MyAPI.Foo1.endPoint1 ( { application: "1", limit: 5 } );
MyAPI.Foo2.endPoint2 ( { application: "1" } );