2015-10-12 4 views
0

Мне нужно выполнить операцию GET на следующий конец HTTP точки:Ember JS: Вложенные API маршруты

/api/v1/users/security_questions.json?memberID=1234 

Я сказал, что Эмбер JS не поддерживает вложенную конечной точки, как пользователи/security_questions и скорее Мне нужно будет:

/api/v1/security_questions.json?memberID=1234 

Поддерживаются ли вложенные маршруты API? Если да, то как мне его реализовать в моей модели?

+0

Вы можете включить ссылку 'security_questions' в своей полезной нагрузке. Вы рассматривали простой вызов AJAX? – locks

ответ

0

Это не поддерживается вне коробки, однако это довольно легко, чтобы добавить его. Вам нужно переопределить метод pathForType в вашем RESTAdapter

import Ember from 'ember'; 

export default DS.RESTAdapter.extend({ 

    pathForType: function(type) { 

    // Assuming your model name is security_question 
    if (type === 'security_question') { 

     // If it's a security question, set this as the path 
     return 'users/security_questions.json'; 

    } else { 

     // If not, call super to pluralize the model name as normal 
     return this._super(type); 

    } 

    } 

}); 

Надежда, что помогает!

0
  1. Для настройки любой конечной точки вам необходимо написать адаптер для этой модели.
  2. В адаптере имеется несколько крючков.

    • host - переменная, получает префикс в вызовах
    • pathForType(modelName): Может использоваться для настройки пути для данного типа
    • buildURL (modelName, id, snapshot, requestType, query): Предлагает больше настроек

Вы можете см. here в Ember Guides.

Смежные вопросы