使用@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
相关产品推荐
相关产品推荐

