web-services - Backbone 模型和集合是否期望具有相同的项目表示?

标签 web-services rest backbone.js api-design

假设我们有一个 rest API 来取回位于/items 的一些项目,它返回一个像这样的 JSON 数组

[ {....},{...},{...} .... {...}]

假设 items/{id} 返回具有 id {id} 的项目的表示

要进入第 4 项,可以通过两种方式进行:

案例 1:获取/items 然后在响应中搜索 ID 为 #4 的项目

案例2:得到/物品/4

case 1 返回的表示是否应该与 case 2 返回的表示相同?

编辑 1 例如/dogs 可以返回一个只填充名称和 ID 的狗资源数组,而/dogs/4 可以返回狗资源的完整详细信息。

最佳答案

简答

您可以从 Collection 和 Model 返回不同的结构。

长答案

您可以在您的 JSON 中返回任何您想要的内容,Backbone 将构建您的 Model 的实体。使用 JSON 提供的数据,Backbone 将使创建的实例适应提供的数据,并将其与声明的 Model.defaults 合并。 .

例如,您甚至可以为这两个查询返回不同的 JSON 结构:

  • /dogs/1
  • /dogs/2

  • 我理解您的担忧,您正在尝试 fetch一堆数据细节非常低的对象,然后 fetch需要时具体实例的完整数据。

    我看不出有什么问题。

    尝试将未完成的模型标记为不在详细 View 中使用它们而不获取整个数据。

    关于web-services - Backbone 模型和集合是否期望具有相同的项目表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938953/

    相关文章:

    web-services - REST Web 服务——使用 xml 负载

    c# - SharePoint 网络服务 : Get List Item Navigation URL

    django - 将 REST 和 RPC 混合在一起是不好的做法吗?

    http - 当我们有 TCP/IP 时,为什么 HTTP 操作需要是幂等的?

    json - onesignal API, postman : app_id cannot be found

    javascript - 触发 Backbone 模型变更事件的正确方法

    javascript - Backbone View 不隐藏父 View 的事件

    java - Web 服务和服务器->客户端通知

    JAVA Web服务证书配置

    javascript - 使用 RequireJS 加载外部 javascript 库