这篇文章的背景是我是一个试图自学Ember的java开发人员。它进展顺利。我意识到这个问题很模糊,所以我道歉,我甚至不确定我应该问什么......
我需要从heroku json端点将数据提取到模型中,即通过某种查询。在application.js文件中,我有以下内容:
import DS from ‘ember-data’;
export default DS.JSONAPIAdapter.extend({
host: 'https://cag-brain.herokuapp.com'
});
理想情况下,我想将此数据提取到用户模型中,然后在页面上显示该数据作为一种概念证明。不幸的是,这对我一无所获。我也不确定我是否正确地解决了这个问题。我应该做的不同于尝试使用主机自定义吗?任何指导都会非常赞赏!
答案 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,则需要自定义serializer和adapter。除了默认适配器和序列化器之外,Ember-data还附带RESTAdapter / RestSerializer,它实现了JSON Api规范。还有一个摘要adapter和serializer如果您需要从头开始。在此之前我肯定会看看是否有任何community adapter/serializer符合您的需求。
为了解耦api和客户端开发并加快测试,我建议ember-cli-mirage允许你模拟你的api。