You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何序列化MirageJS响应以适配EF Core API的List<>返回格式

解决方案

Mirage默认使用符合JSON API规范的序列化器,会自动给响应包裹data外层结构,你需要自定义序列化器关闭该特性即可适配需求:

1. 替换序列化器基础类并关闭根节点包裹

在你的Mirage序列化器目录下新建application.js(全局生效),或对应模型的专属序列化器(比如对应item模型就建item.js),写入以下配置:

import { RestSerializer } from 'miragejs';

export default RestSerializer.extend({
  // 关闭响应的根节点包裹
  root: false,
  // 关联数据也直接嵌入当前对象,不需要额外包裹层
  embed: true
});

注意不要使用默认的JSONAPISerializer,该序列化器强制要求遵循JSON API规范,必须包含data外层结构,无法满足你的返回格式要求。

2. 保持路由处理器的常规写法

路由中直接返回Mirage的模型集合/实例即可,不需要额外做序列化处理:

// 示例路由配置
this.get('/your-api-path', (schema) => {
  // 直接返回集合,会自动按上面的序列化器配置返回纯数组
  return schema.yourModelName.all();
});

配置完成后就能得到你需要的纯数组格式响应,同时可以正常使用Mirage的Models、Factories能力生成模拟数据。

内容的提问来源于stack exchange,提问作者nolanxiii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:54:04