Ember子目录模型与适配器更改?

时间:2017-08-04 13:22:49

标签: ember.js ember-data ember-cli

我注意到可以使用ember cli创建子目录模型。所以我可以做到

ember g model log/type1-log

这将创建一个日志目录,其中包含type1-log模型。我尝试这个的原因是我的API结构。

/api/v1/logs/
/api/v1/logs/type1-log
/api/v1/logs/type2-log
/api/v1/logs/type3-log

最初,我正在做ember g model type1-log,但该模型正在向/api/v1/type1-log执行api请求。我希望它能做api/v1/logs/type1-log

Ember是否支持子目录模型,或者我是否应该更新我的适配器以修改URL?

请求日志不是我的api将来会做的唯一事情所以我不想在适配器中将命名空间设置为/api/v1/logs

1 个答案:

答案 0 :(得分:0)

您可以使用适配器自定义端点自定义。所以在你的情况下我会说,你可以创建特定于模型的适配器并使用namespace属性来自定义它。

ember g adapter type1-log

import DS from 'ember-data';
export default DS.JSONAPIAdapter.extend({
  namespace: 'api/v1/logs'
});

来自余烬指南,

  

如果您的一个模型具有与其他后端进行通信的特殊规则,则可以通过运行命令ember generate adapter adapter-name来创建特定于模型的适配器。例如,运行ember generate adapter post将创建app/adapters/post.js文件。

参考:
https://guides.emberjs.com/v2.14.0/models/customizing-adapters/ https://emberjs.com/api/ember-data/2.14/classes/DS.JSONAPIAdapter