我正在使用AngularJS $資源工廠來訪問客戶端的REST服務。一些參數是用可選的路徑參數而不是查詢參數定義的。AngularJS資源可選路徑參數
案例1:
我打電話myUrl /應用 - :的applicationID/LIMIT-:limit.json
有:
{
applicationID:"1234",
limit: 10
}
我得到的正確的URL myUrl/application-1234/limit-10.json
案例2:
我打電話myUrl /應用 - :的applicationID/LIMIT-:limit.json
有:
{
applicationID:"1234"
}
我想要的結果URL忽略可選limit
參數和崩潰到myUrl/application-1234.json
但是,我ge t是myUrl /應用-1234 /限制,以.json
*編輯 我有幾個API的類別,例如Foo1和Foo2,各有幾個端點如端點1,端點2和使用方法@ 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" });
[可選-URL參數合angularjs資源(的可能的複製http://stackoverflow.com/questions/10382337/optional-url-parameters-in -angularjs-resource) – Dieterg
我編輯了我的原始文章以顯示我當前的結構,因爲我不確定如何在您的文章中乾淨地整合該方法。 – user3279701