3

我有一个无法更改的现有 RESTful API。现在,我正在开发网络客户端。

我想使用像backbone.js 这样的库(第一次)。

这是现有API的设计

1.) GET /persons- 返回整个人物集合

2.) GET /persons?p1=a&p2=b(eg) - 返回与查询参数指定的条件匹配的完整集合的子集

3.) GET /persons/[id]- 通过 id 返回一个人

4.) POST /persons- 修改集合(例如创建一个新人)并返回具体结果

问题:

  • #1(和#2)的问题:输出格式是这样的:{size: 1, persons: [{'id': 1, 'firstname': 'foo', 'lastname': 'bar'}]}

  • #2 的问题:如何将这样的请求映射到backbone.js?

有什么建议么?

4

2 回答 2

3

对于#1,您将覆盖parse. 例如,在您的 Persons 集合中,您将放置以下方法:

parse: function(response) {
    return response.persons;
}

您基本上是在指示集合中可以找到模型的哪些属性(在我们的例子中为“人员”)。

对于#2,(如前所述)看起来您需要更新sync. Hunter 在他的回复中提供了一个很好的链接,应该很有帮助。

于 2013-01-02T18:26:58.360 回答
2

对于不遵循骨干网确切结构的 API,您通常最终会覆盖骨干网的某些fetch parse组合sync。Backbone 的设计使得覆盖这些东西很容易,因为这是一种常见的需求:

于 2013-01-02T16:58:16.263 回答