我一直很好地使用 Ember-Data,我的 API 端点如下
domain.com/apples/
=> 苹果列表
domain.com/apples/1/
=> Apple ID 为 1
domain.com/worms/
=> 蠕虫列表
我需要取出一个苹果中的所有蠕虫。我的 API 端点就像
domain.com/apples/1/worms/
=> apple 中 ID 为 1 的蠕虫列表
我一直在使用 Em.$.getJSON(...)
获取这些蠕虫并且工作正常。但结果是一个对象列表,我想要一个蠕虫列表(在/models/worms.js 中定义)
看看ember-api-actions .
您的模型将如下所示:
// app/models/apple.js
import DS from 'ember-data';
import { memberAction } from 'ember-api-actions';
export default DS.Model.extend({
// GET /apples/:id/worms
worms: memberAction({ path: 'worms', type: 'get' })
});
要获取给定苹果的所有蠕虫,请使用如下内容:
this.store.findRecord('apple', params.id).then((apple) => apple.worms())
附注也可以手动将 JSON 响应推送到 ember 数据存储,但实现自定义适配器更加健壮(您可以看到 ember-data-actions 使这一切变得非常简单)
我是一名优秀的程序员,十分优秀!