不确定如何从自定义端点检索数据?

Unsure how to retrieve data from a custom endpoint?

此 post 的背景是我是一名 java 试图自学 Ember 的开发人员。进展不顺利。我意识到这个问题很模糊所以我道歉,我什至不确定我应该问什么...

我需要将数据从 heroku json 端点提取到模型中,即通过某种查询。在 application.js 文件中,我有以下内容:

import DS from ‘ember-data’;

export default DS.JSONAPIAdapter.extend({
    host: 'https://cag-brain.herokuapp.com'
});

理想情况下,我想将这些数据提取到用户模型中,然后在页面上显示该数据作为一种概念证明。不幸的是,这让我一无所获。我什至不确定我是否正确地处理了这件事。我应该做一些不同于尝试使用主机自定义的事情吗?任何指导都将 非常 感激不尽!

通过 ember-data 检索记录涉及不同的事情。

首先你应该define your models:

// app/models/post.js

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string')
});

您应该检索 model hook of a route 中的记录。

// app\routes\posts.js

import Route from '@ember/routing/route';

export default Route.extend({
  model() {
    return this.get('store').findAll('post');
  }
});

然后你应该配置你的api host and maybe a namespace。您在问题中包含了该步骤:

// app/adapters/application.js

import DS from ‘ember-data’;

export default DS.JSONAPIAdapter.extend({
    host: 'https://cag-brain.herokuapp.com'
});

如果您的 api 没有实现 JSON Api specification you need to customize your serializer and adapter. Ember-data ships with a RESTAdapter/RestSerializer additionally to the default adapter and serializer which implements JSON Api spec. There is also one abstract adapter and serializer If you need to start from scratch. Before that I would definitely have a look if there is any community adapter/serializer 满足您的需求。

为了分离 api 和客户端开发并加快测试速度,我建议使用 ember-cli-mirage,它允许您模拟 api.