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

Ember Subdirectory Models vs Adapter Change?

我注意到可以使用 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 请求到 /api/v1/type1-log。我希望它做 api/v1/logs/type1-log.

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

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

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

ember g adapter type1-log

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

来自 ember 指南,

If you have one model that has exceptional rules for communicating with its backend than the others you can create a Model specific Adapter by running the command ember generate adapter adapter-name. For example, running ember generate adapter post will create the app/adapters/post.js file.

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