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

使用@mocks-server/main从OpenAPI生成Mock遇404问题求助

使用@mocks-server/main从OpenAPI生成Mock数据的问题排查与解决

你遇到的404问题主要来自OpenAPI文件的语法错误及配置遗漏,以下是具体修正步骤:

1. 修正OpenAPI文件中的媒体类型错误

你的testopenapi.json里把响应的媒体类型写成了application/json0,这是无效格式,Mocks Server无法识别正确的响应结构,导致路由未生成。将其改为标准的application/json:

修正后的/mocks/testopenapi.json:

{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Testing API",
    "description": "OpenAPI document to create routes"
  },
  "paths": {
    "/health": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "message": {
                    "value": "Example"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

2. 确认OpenAPI定义的加载路径

检查/mocks/openapi/definitions.js的路径引用,当前../testopenapi.json的相对路径是正确的,但要确保文件名、路径无拼写错误。

3. 添加Mocks Server核心配置文件

在项目根目录创建mocks.config.js,明确开启OpenAPI集成并指定定义文件路径:

module.exports = {
  openapi: {
    enabled: true,
    definitions: "./mocks/openapi/definitions.js"
  }
};

4. 验证路由加载状态

启动Mocks Server后,查看控制台输出,确认是否有类似日志:

info: Added route GET /api-1/health with responses: 200

如果没有该日志,说明OpenAPI文件仍有语法问题,可使用OpenAPI官方编辑器验证文件合法性。

5. 发起正确请求

确保使用GET方法访问/api-1/health,且请求头Accept设置为application/json,此时应能收到"Example"响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:13:12