在处理聚合REST端点时,如何使用ng-resource进行修补

时间:2015-01-19 16:06:06

标签: angularjs rest angular-resource

我的REST有一个相当简单的CRUD模型。我的问题是当我聚合性能并保持服务器端的公共业务逻辑时如何处理PATCH或PUT。

假设我有一个公司和部门。以下是CRUD端点

GET /companies // list all companies
GET /companies/25 // GET company with ID 25
GET /departments  // list all departments
GET /departments/65 // GET department with ID 65

之前,客户将GET /companies/25返回

{id:"25",name:"my firm",departments:["65","72","10]}
然后,它会对部门进行单独调用。 (是的,我可以在响应中使用超链接,但这是一个简单的例子)

现在我想创建一个聚合端点,因此它只需一次调用。 GET /companies/25将返回

{id:"25",name:"my firm",departments:[
   {id:"65", name:"Marketing"},
   {id:"72", name:"Sales"},
   {id:"10", name:"R&D"},
]}

(真实情况要复杂得多)

问题是这会成为一个$resource。如果我想PUTPATCH发生了任何变化,可能会发送大量信息,因为ng-resource并不理解只有idname部门"25"应该被发送,其余部分是为了方便而提供的。

如果在汇总端点时如何将PATCH / PUTng-resource一起使用?

相反,如果我有一个单独的端点URL用于聚合,例如

GET /full_companies/25

然后它变得更加困难,因为ng-resource无法理解查询的一个网址(GET)而另一个用于命令(PUT / PATCH / {{1 }})?

0 个答案:

没有答案