2013-02-17 22 views
47

我正在嘗試爲Ember.js應用程序編寫一個基於自定義express.js的服務器。我相處得很好,但我經常陷入困境,試圖猜測Ember Data在給定時刻期待的JSON響應。DS.RESTAdapter的預期JSON響應的完整列表是什麼?

這個全新的文檔是一個很好的開始http://emberjs.com/guides/models/the-rest-adapter/但不夠完整。

我在黑暗中刺傷使得我瞭解(恩貝爾PRE4,灰燼數據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]} 
+0

因此,基於這篇文章和其他研究。我寫這個要點來傳達大部分案例。請留下反饋。謝謝。 https://gist.github.com/ldong/c52f491a88935a8c24337c1326586f99 – 2017-08-04 23:03:07

回答

24

而是在黑暗中刺傷的,看看rest-adapter-test

例如,填寫你的問題上批量更新響應數據,L738描述了預期的響應數據:

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

哇,我當然希望我早點見過。謝謝邁克爾! – 2013-02-19 02:05:05

+3

鏈接已死,請更新。 – iConnor 2013-11-11 18:17:05

+1

已更新的過期鏈接。如果它將來運行,基本上只需要在github上的ember-data項目並搜索rest_adapter_test.js的項目 - https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/適配器/ rest_adapter_test.js – 2013-11-12 09:41:39

0

當前查找短語ajaxResponse( in rest-adapter-test.js源碼嵌套在test("create - a payload with a new ID and data applies the updates"看起來很像塊以讀取服務器所需的響應。