在主干中,它seems to be encouraged that collection resources return bare arrays。这似乎是driven by the Rails model of doing things,这不是一个很好的理由在所有做些事情。我有这个几个问题:主干集合,REST和裸阵列
- 通常,'集合'资源也需要它周围的上下文。至少,我喜欢在响应中包含资源URI的约定。其他的东西,如分页,小计(例如在购物车中)等意味着集合很少是“裸露”的。
- Bare Arrays据说有安全问题。我在几个地方听到过这个消息,但需要一些参考文件才能确认。
在另一方面,我可以看到“裸”的阵列将成为一个API更自然:
- 集合中的每个对象的格式将趋于一样的格式时创建/更新该集合中的对象。
- “集合”在语义上很好地映射到项目集合的概念。
声明:这里的前提可能是完全有缺陷的。我意识到REST比HTTP动词和JSON多得多。
有趣的讨论,乔恩...我曾经以几乎相同的方式思考收藏品;特别是关于你的第一句话。但是我只是将集合看作是另一个将_presenting_资源数据作为类似项目集合的接口。这可能会以数组或对象的形式出现。我有责任将其列为相似项目列表;这就是Collection.parse非常重要的地方。有一个独立的同步对象处理实际的CRUD操作也是有意义的,强化集合仅仅代表后端数据的想法。 – 2012-07-25 17:51:37