2013-06-20 66 views
0

我有一個AngularJS $資源

getEntity: { url: '/api/:entityType/:entityId', method: 'GET' }, 

這發出類似以下到我的服務器以下動作:

/api/xxx/123 

我現在想使它這樣的服務器接收:

/api/xxx?subjectId=12&contentTypeId=23 

這裏是我打電話給getEntity的地方:

 getEntity: function (entityType, entityId) { 
      var deferred = $q.defer(); 
      EntityResource.getEntity({ entityType: entityType, entityId: entityId }, 
       function (resp) { 
        deferred.resolve(resp); 
       } 
      ); 
      return deferred.promise; 
     } 

可有人告訴我,我怎麼能做到這一點。

+0

如果可能有人可以提供一個完整的答案,所以我可以接受。由於 – Alan2

回答

0

只需添加查詢參數對象的參數,即:

getEntity: function (entityType, entityId) { 
      var deferred = $q.defer(); 
      EntityResource.getEntity({ entityType: 
       entityType, entityId: entityId, subjectId:12, contentTypeId:23 }, 
       function (resp) { 
        deferred.resolve(resp); 
       } 
      ); 
      return deferred.promise; 
     } 

看看參數節中的AngularJS documentation作出解釋。

+0

但是不要我也必須做出改變,其是行動「getEntity:{網址:‘/ API /:的EntityType /:ENTITYID’,方法:‘GET’},」 – Alan2

+0

在對象中的值,你pass被綁定到資源url中的動作參數一樣多,其餘的被作爲查詢參數傳遞,這在我引用的文檔部分中有明確的解釋。 – remigio

+0

感謝您花時間幫忙,但我很抱歉,我認爲在我接受之前,我應該等待顯示這一點的答案。我認爲對於其他可能看到這個問題的人是否公平,如果我接受的答案還沒有完成,並且有消息說要在文件中查看。 – Alan2

相關問題