Ember 数据 - 如何在不使用 id 的情况下获取数据

Ember Data - how to fetch data without using id

我正在使用 Ember 构建应用程序并尝试使用 Ember 数据与后端 API 通信并编写自定义适配器。

我使用的API不符合RESTful或JSONAPI标准。它有许多端点不接受当前用户的 id 但 returns 数据。 例如,我有 'getAccountData' api 当前用户的 returns 帐户数据。返回的数据有 "id" 与之关联(当前用户的 user_id),但是调用 api 获取数据时您没有传入 "id"。

我尝试在我的自定义适配器中实现 findRecord 方法,但是 "id" 参数是必需的,如果我只是调用 this.get 它会抱怨('store').findRecord('account-data')。 我可以传入像 this.get('store').findRecord('account-data', 1) 这样的虚拟 ID,但这似乎是错误的,因为 'id' 的返回数据不会是 1.

我应该改用 findAll 还是 query?有没有办法以干净的方式做到这一点?

你应该使用 queryRecord。来自 Ember docs:

This method makes a request for one record, where the id is not known beforehand (if the id is known, use findRecord instead).