Ember JS:嵌套的api路线

时间:2015-10-12 16:05:01

标签: javascript ember.js coffeescript ember-data

我需要对以下HTTP端点执行GET操作:

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

我被告知Ember JS不支持像users / security_questions这样的嵌套端点,而是我需要这样做:

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

是否支持嵌套API路由?如果是这样,我如何在我的模型中实现它?

2 个答案:

答案 0 :(得分:0)

它不支持开箱即用,但是添加它很容易。你需要覆盖RESTAdapter中的pathForType方法

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);

    }

  }

});

希望有所帮助!

答案 1 :(得分:0)

  1. 要自定义任何端点,您必须为该模型编写适配器。
  2. 适配器中有多个可用的挂钩。

    • host - 变量,在调用中得到前缀
    • pathForType(modelName):可用于自定义给定类型的路径
    • buildURL (modelName, id, snapshot, requestType, query):提供更多自定义
  3. 您可以在Ember Guides中引用here