DS.RESTAdapter 的预期 JSON 响应的完整列表是啥?

Posted

技术标签:

【中文标题】DS.RESTAdapter 的预期 JSON 响应的完整列表是啥?【英文标题】:What is the complete list of expected JSON responses for DS.RESTAdapter?DS.RESTAdapter 的预期 JSON 响应的完整列表是什么? 【发布时间】:2013-02-02 01:49:45 【问题描述】:

我正在尝试为 Ember.js 应用程序编写基于 express.js 的自定义服务器。我相处得很好,但我总是被困在试图猜测 Ember Data 在给定时刻期望什么 JSON 响应。

这个全新的文档是一个很好的开始http://emberjs.com/guides/models/the-rest-adapter/,但还不够完整。

我在黑暗中的刺伤让我明白了(Ember pre4,Ember Data 11):

Context                                Server URL          Method     Req. Data                  Resp. Data
~~~~~~~                                ~~~~~~~~~~          ~~~~~~     ~~~~~~~~~                  ~~~~~~~~~~
Getting a list of all users            /users              GET                                   "users":[...,...]
Getting a particular user              /users/123          GET                                   "user":...
Creating a user                        /users              POST       "user":...             ???
Updating a user                        /users/123          PUT        "user":...             ???
Deleting a user                        /users/123          DELETE     ???                        ???

Creating a user (bulkUpdate)           /users              POST       "users":[...,...]    ???
Updating a user (bulkUpdate)           /users/bulk         PUT        "users":[...,...]    ???
Deleting a user (bulkUpdate)           /users/123          DELETE     ???                        ???

有人可以帮我填写其中的一些空白吗?

编辑,预期 JSON 响应的完整列表

这些响应是从ember-data REST adapter unit tests 和通过观察Example Ember Data app 上的网络流量收集的。

Context                                Server URL          Method     Req. Data                  Resp. Data
~~~~~~~                                ~~~~~~~~~~          ~~~~~~     ~~~~~~~~~                  ~~~~~~~~~~
Getting a list of all users            /users              GET                                   "users":[...,...]
Getting a particular user              /users/123          GET                                   "user":...
Creating a user                        /users              POST       "user":...             "user":...
Updating a user                        /users/123          PUT        "user":...             "user":...
Deleting a user                        /users/123          DELETE     N/A                        null

Creating a user (bulkCommit)           /users              POST       "users":[...,...]    "users":[...,...]
Updating a user (bulkCommit)           /users/bulk         PUT        "users":[...,...]    "users":[...,...]
Deleting a user (bulkCommit)           /users/bulk         DELETE     "users":[1,2]            "users":[1,2]

【问题讨论】:

所以,基于这篇文章和其他研究。我写这个要点是为了传达大多数情况。请留下反馈。谢谢。 gist.github.com/ldong/c52f491a88935a8c24337c1326586f99 【参考方案1】:

与其在黑暗中刺伤,不如看看rest-adapter-test

例如,要填写关于批量更新的响应数据的问题,L738 描述了预期的响应数据:

ajaxHash.success( people: [
   id: 1, name: "Brohuda Brokatz" ,
   id: 2, name: "Brocarl Brolerche" 
]);

【讨论】:

哇,我真希望我早点看到。谢谢迈克尔! 更新了过期链接。如果它将来移动,基本上只是去 github 上的 ember-data 项目并在项目中搜索 rest_adapter_test.js - github.com/emberjs/data/blob/master/packages/ember-data/tests/… @MikeGrassotti:对于 ember-data 的 json 请求/回复格式所依据的标准是如何调用的?某处是否有完整的标准规范? ember-data 是否完全实现了该标准? 这个答案很旧,文件更改了它的名称,示例不再退出。任何人都可以写在哪里可以找到github.com/emberjs/data/blob/master/packages/ember-data/tests/… 中的响应示例? 2017 链接:github.com/emberjs/data/blob/master/tests/integration/adapter/…【参考方案2】:

目前在 rest-adapter-test.js 源中查找短语 ajaxResponse( 嵌套在 test("create - a payload with a new ID and data applies the updates" 看起来相似的块中以读取服务器的所需响应。

【讨论】:

以上是关于DS.RESTAdapter 的预期 JSON 响应的完整列表是啥?的主要内容,如果未能解决你的问题,请参考以下文章

7.9 Models -- Connection to An HTTP Server

将 JSON 响应分配给模型 SwiftUI

无法将 JSON 响应分配给预先声明的数组

JsonSerializer 尝试 DeserializeFromString

如何将 JSON 响应发送到 Swift 3 中的另一个视图

使用表单的响应将数据集属性保存在 JSON 文件中 (Vue.js)