2013-02-17 9 views
47

Próbuję napisać niestandardowy serwer oparty na express.js dla aplikacji Ember.js. Dość dobrze sobie radzę, ale ciągle utknąłem próbując odgadnąć, jakie reakcje JSON Ember Data spodziewa się w danym momencie.Jaka jest pełna lista oczekiwanych odpowiedzi JSON dla DS.RESTAdapter?

Ta zupełnie nowa dokumentacja jest świetnym początkiem http://emberjs.com/guides/models/the-rest-adapter/, ale nie jest kompletna.

Mój kłujący w ciemności doprowadziło mnie do zrozumienia (Ember Ember danych 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  ???      ??? 

Czy ktoś może mi pomóc wypełnić niektóre z tych wykrojów?

Edit, pełna lista oczekiwanych odpowiedzi JSON

Te odpowiedzi zostały zgromadzone z ember-data REST adapter unit tests i obserwując ruch sieciowy na 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

Na podstawie tego posta i innych badań. Napisałem to, aby przekazać większość przypadków. Proszę zostawić informacje zwrotne. Dzięki. https://gist.github.com/ldong/c52f491a88935a8c24337c1326586f99 –

Odpowiedz

24

Zamiast przeszywający w ciemności, rzucić okiem na rest-adapter-test

Na przykład, aby wypełnić swoje pytanie na danych odpowiedzi do aktualizacji masowych L738 opisuje oczekiwane dane Response:

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

Woah, na pewno żałuję, że nie widziałem tego wcześniej. Dziękuję Michael! –

+3

Link nie działa, proszę zaktualizować. – iConnor

+1

Zaktualizowany nieaktualny link. Jeśli porusza się w przyszłości, po prostu przejdź do projektu ember-data na github i projekt wyszukiwania dla reszta_adapter_test.js - https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/ adapter/rest_adapter_test.js –

0

Obecnie szukają zwrotów ajaxResponse( w rest-adapter-test.js źródło zagnieżdżone w test("create - a payload with a new ID and data applies the updates" wyglądają podobnie do bloków, aby odczytać wymaganą odpowiedź serwera.

Powiązane problemy