我注意到可以使用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
。
答案 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