web-dev-qa-db-fra.com

Quelle est la liste complète des réponses JSON attendues pour DS.RESTAdapter?

J'essaie d'écrire un serveur personnalisé basé sur express.js pour une application Ember.js. Je m'entends assez bien mais je suis constamment en train d'essayer de deviner les réponses JSON qu'attend Ember Data à un moment donné.

Cette toute nouvelle documentation est un bon point de départ http://emberjs.com/guides/models/the-rest-adapter/ mais n'est pas assez complète.

Mon coup de poignard dans le noir m'a amené à comprendre (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     ???                        ???

Quelqu'un peut-il m'aider à remplir certains de ces espaces?

Edit, la liste complète des réponses JSON attendues

Ces réponses ont été glanées à partir de ember-data REST tests unitaires de l'adaptateur et en observant le trafic réseau sur Exemple de l'application Ember Data .

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]}
47
James Andres

Au lieu de poignarder dans le noir, jetez un œil à reste-adaptateur-test

Par exemple, pour répondre à votre question sur les données de réponse pour les mises à jour groupées, L738 décrit les données de réponse attendues:

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

Recherchez actuellement les expressions ajaxResponse( dans rest-adapter-test.js source imbriquée dans test("create - a payload with a new ID and data applies the updates" ressemblent à des blocs pour lire la réponse requise du serveur.

0
Marecky