我需要在ember-cli-mirage路由处理程序数据中返回meta,以及测试中的序列化对象
server.createList('things', 42);
this.get('/things', function(schema, request) {
return this.serialize(this.schema.things.all());
});我希望路由处理程序输出:
{ data: ..., meta: { 'record-count': 42 } }有没有办法设置幻影来做这件事,或者我需要在每次请求时显式地设置该数据?
发布于 2019-08-15 18:56:21
Ember CLI幻影使用类似于Ember Data的序列化程序,允许您执行此类操作。在文档中明确提到为Ember CLI Mirage的序列化程序的serialize method添加元数据:
超级你也可以覆盖这个方法,调用
,并在幻影响应之前操作数据。这是添加元数据的好地方
我没有测试过上面的代码,但它应该会给你一个想法:
serialize(primaryResource, request) {
// This is how to call super, as Mirage borrows [Backbone's implementation of extend](http://backbonejs.org/#Model-extend)
let json = Serializer.prototype.serialize.apply(this, arguments);
// Add metadata, sort parts of the response, etc.
json.meta = {
'record-count': primaryResource.length,
};
return json;
}https://stackoverflow.com/questions/57503405
复制相似问题