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

时间:2017-12-18 21:10:04

标签: heroku ember.js ember-data

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

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

import DS from ‘ember-data’;

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

理想情况下,我想将此数据提取到用户模型中,然后在页面上显示该数据作为一种概念证明。不幸的是,这对我一无所获。我也不确定我是否正确地解决了这个问题。我应该做的不同于尝试使用主机自定义吗?任何指导都会非常赞赏!

1 个答案:

答案 0 :(得分:1)

通过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,也可以配置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,则需要自定义serializeradapter。除了默认适配器和序列化器之外,Ember-data还附带RESTAdapter / RestSerializer,它实现了JSON Api规范。还有一个摘要adapterserializer如果您需要从头开始。在此之前我肯定会看看是否有任何community adapter/serializer符合您的需求。

为了解耦api和客户端开发并加快测试,我建议ember-cli-mirage允许你模拟你的api。