Ember-данные в среде, отличной от RESTful - программирование

Ember-данные в среде, отличной от RESTful

Я хотел бы использовать данные ember в проекте, который я создаю, но API, с которым я работаю, не соответствует соглашениям REST.

Например, все HTTP-запросы являются POST, а соглашения об именах конечных точек уникальны для действий, которые они выполняют. например /api/thing/retrieve потребовал бы, чтобы я опубликовал объект JSON с некоторыми параметрами и вернул мне "вещь".

Я использую адаптер Restful и снова открываю класс и переопределяю различные функции поиска?

ИЛИ

Нужно ли мне создавать новый адаптер?

ИЛИ

Должен ли я просто отказаться от данных ember-данных и использовать ajax в своих моделях (или, возможно, даже контроллерах)?

Я не уверен, как я буду обрабатывать любые из этих параметров. Любые рекомендации будут оценены.

4b9b3361

Ответ 1

Единственная информация, которую я видел по этому вопросу, - это статья людей Дискурса, приведенная ниже.

http://eviltrout.com/2013/03/23/ember-without-data.html

Я лично обошел метод reopenClass в статье и, вероятно, поместил бы его в mixin или что-то в этом роде, если бы у меня был последовательный, но не REST API, который я вызывал регулярно.

Ответ 2

Я бы сказал, что если ваш API является последовательным (надежным), вы должны создать/расширить DS.Adapter(не DS.RESTAdapter) для реализации в вашей спецификации.

Все крючки есть, вы просто определите его, как только сможете использовать все модели.

Я бы также прочитал код Basic Adapter - (https://github.com/emberjs/data/blob/master/packages/ember-data/lib/adapters/basic_adapter.js), это может быть лучше для вас, а затем DS.Adapter.

Если ваш API не является надежным, то вам, вероятно, лучше всего использовать только вызовы $.ajax(). Но, на мой взгляд, это плохо масштабируется.

Ссылка, стоящая при просмотре основного адаптера: http://emberjs.com/blog/2013/03/22/stabilizing-ember-data.html

Последнее замечание: создание ORM или даже нечто более простое, чем ORM - это не тривиальная задача, которая для меня делает использование данных ember-достоинством, а иногда и боль.