Swagger 3.0.0 代码生成失败 java.lang.RuntimeException:缺少 swagger 输入或配置 [英] Swagger 3.0.0 codegen failed java.lang.RuntimeException: missing swagger input or config
问题描述
我正在使用 swagger 指定我的 API 我使用的是 2.0 现在有新版本 3.0.0 根据我使用离线 swagger 编辑器指定 3.0.0 规范的文档.准备好后,我下载了 json 文件,我将使用该文件生成 spring 服务器代码.我下载了 swagger-codegen
I am specifying my APIs using swagger I was using 2.0 now there is new version 3.0.0 according to the documentation I have specified 3.0.0 specification using offline swagger editor. Once it was ready I downloaded json file using which I am going to generate spring server code. I downloaded the swagger-codegen
使用 mvn clean package
构建它然后我执行了以下命令:
Built it using mvn clean package
then I executed following command :
java -jar <PARENT_DIR>/swagger-codegen/modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i <PARENT_DIR>/ServerCode/swagger.json -l spring -o <PARENT_DIR>/ServerCode
上面的命令给了我以下错误:
Above command gives following error to me :
[main] INFO io.swagger.parser.Swagger20Parser - reading from swagger.json
[main] INFO io.swagger.parser.Swagger20Parser - reading from swagger.json
[main] INFO io.swagger.codegen.ignore.CodegenIgnoreProcessor - No .swagger-codegen-ignore file found.
Exception in thread "main" java.lang.RuntimeException: missing swagger input or config!
at io.swagger.codegen.DefaultGenerator.generate(DefaultGenerator.java:723)
at io.swagger.codegen.cmd.Generate.run(Generate.java:285)
at io.swagger.codegen.SwaggerCodegen.main(SwaggerCodegen.java:35)
更新:
我的 swagger.json 文件如下(这是我的试验项目,因此我在这里粘贴了我的 api 结构):
My swagger.json file as follows ( This is my trial project hence I have pasted my api structure here ):
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "User Example",
"license": {
"name": "MIT"
}
},
"servers": [
{
"url": "http://www.example.com//v1"
}
],
"paths": {
"/user": {
"post": {
"summary": "API to create a new User",
"operationId": "createUser",
"tags": [
"user"
],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"description": "User data to be created",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"responses": {
"200": {
"description": "Newly created User data",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"404": {
"description": "Unexpected Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthError"
}
}
}
},
"500": {
"description": "Unexpected Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
},
"default": {
"description": "Unexpected Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnexpectedError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"User": {
"required": [
"id",
"fname",
"email"
],
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"fname": {
"type": "string"
},
"lname": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
}
}
},
"UnexpectedError": {
"properties": {
"message": {
"type": "string",
"example": "Something went wrong"
}
}
},
"AuthError": {
"properties": {
"message": {
"type": "string",
"example": "Authorization failed"
}
}
},
"InternalServerError": {
"properties": {
"message": {
"type": "string",
"example": "There is server side error while processing your request"
}
}
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT"
}
}
}
}
我尝试在 3.0.0 上构建 code-gen-cli 分支也给出了同样的错误.
I have tried building the code-gen-cli on 3.0.0 branch also which is giving same error.
推荐答案
在问题评论构建中由 anothernode 提出再次从 3.0.0 分支成功生成:
As suggesed by anothernode in the question comments building again from 3.0.0 branch generates successfully:
$ git checkout v3.0.0
$ mvn clean package
这篇关于Swagger 3.0.0 代码生成失败 java.lang.RuntimeException:缺少 swagger 输入或配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!