Comment voulez-vous créer une coutume adaptateur pour ember.js?
Je suis la planification sur l'utilisation de ember.js cependant mon api REST n'est pas exactement aligner avec le pack RESTE de l'Adaptateur. Je voudrais à "remplacer" le trouver et être en mesure de mettre mon propre ajax en elle. Je n'aime pas la façon dont une braise findAll récupère tous mes documents avec pas d'options pour la pagination, de sorte que le long de avec d'autres paramètres de la requête serait utile-c'est pourquoi je veux écrire mon propre ajax. J'ai été incapable de trouver toute la documentation sur la façon dont j'allais le faire.
Vous devez vous connecter pour publier un commentaire.
De Braise Données
C'est jusqu'à ce jour, comme de la Braise Données 1.0 beta 9.
Étendre l'un de la Braise Adaptateurs de Données. Pour le faire à l'échelle du site:
Pour en faire un modèle spécifique:
Alors vous allez définir l'application que vous souhaitez remplacer. Vous avez toujours l'option d'appeler
this._super
et de revenir à la base de la mise en œuvre. par exemple,Ou vous pouvez annuler la mise en œuvre:
Pour voir l'intégralité de l'api, vous pouvez remplacer le voir: http://emberjs.com/api/data/classes/DS.RESTAdapter.html
Sérialiseur
Souvent plus important sera le déploiement de votre propre sérialiseur pour masser les données pour les adapter à votre point de terminaison rest. Voici quelques informations utiles de la transition document https://github.com/emberjs/data/blob/master/TRANSITION.md .
La version courte est que, une fois une requête Ajax a terminé, la charge utile est envoyé par la suite à des crochets:
Rouler votre propre
Puis, à partir de votre itinéraire, ou partout où
Personnellement, je serais d'injecter de l'adaptateur sur les routes juste pour me rendre la vie plus facile:
Puis sur la route, vous pourriez être lazier et à faire:
Exemple: http://emberjs.jsbin.com/OxIDiVU/676/edit
Vous pouvez en lire plus à propos de Braise sans Braise de Données: Braise sans Braise de Données
revision: 13
J'ai eu le même problème. J'ai trop envie d'utiliser un format légèrement différent avec mon backend (cakePHP) et ne pouvait pas comprendre comment le faire. Les réponses précédentes sont grands, mais vous ne pourriez pas besoin de redéfinir toutes les méthodes, mais il suffit de modifier le format de l'URL en remplaçant la buildURL dans le RESTAdapter.
Par exemple, je veux utiliser cakePHP extension et veux que mes url de ressemble à, application large:
Après beaucoup de disputes et de la prise de conscience que ember-data est essentiel, j'ai utilisé le code suivant:
Braise de docs sont bonnes, mais la plupart de leurs exemples d'utilisation LUMINAIRE de données. Je souhaite qu'ils avaient un exemple simple comment écrire différents types de cartes pour différentes situations.
Pour ceux qui code adaptateur eux-mêmes, si vous avez besoin de retourner une valeur à partir de votre carte (par exemple, nom d'utilisateur), vous pouvez soit retourner json ou d'une promesse. Ici est un exemple de retour promesse:
Vous pouvez obtenir plus d'infos sur la Braise de promesses ici: https://hackhands.com/3-ways-ember-js-leverages-promises/ ou ici http://emberjs.com/api/classes/RSVP.Promise.html