我已经编写了API3.0格式(https://swagger.io/docs/specification/basic-structure/)的OpenAPI定义。现在,我正在尝试生成Java Spring对象,就像以前使用Swagger 2.0定义及其关联的Maven插件所做的那样。
到目前为止,我有一个基本的API定义,它的开头是:
openapi: 3.0.0 info: title: Demo API description: This is a basic REST API implementing the [Open API Specification](https://en.wikipedia.org/wiki/OpenAPI_Specification). version: 0.0.1
在我的pom.xml文件中,我添加了:
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-cli</artifactId>
<version>3.3.3</version>
</dependency>但是在执行mvn install时,我得到了这个错误:
com.fasterxml.jackson.core.JsonParseException: Unrecognized
token 'openapi': was expecting ('true', 'false' or 'null')
at [Source: definition\DEFINITION.yml; line: 1, column: 9]有人知道问题出在哪里吗?
发布于 2018-11-20 23:34:30
我目前正在开发openapi-generator-maven-plugin,以便从JSON模式生成OpenAPI类。
这些错误看起来像是语法问题。因此,首先要确保您的模式在语法上是正确的,并且如下所示:
{
"openapi": "3.0.0",
"info": {
"title": "Demo API",
"description": "This is a basic REST API implementing the [Open API Specification](https://en.wikipedia.org/wiki/OpenAPI_Specification).",
"version": "0.0.1"
},
# Schema definition goes here
}发布于 2021-06-01 22:00:00
我遇到了同样的问题(我需要指出的是,这只发生在windows上。相同的代码在linux下运行良好)。虽然我没有“解决方案”,但对我有效的变通方法是设置:
validateSpec = false所以就像这样
generatorName = "typescript-angular"
validateSpec = false
inputSpec = "${myInputSpec}".toString()
outputDir = "${generatedCodeDir}".toString()发布于 2021-08-23 07:40:19
我在使用io.swagger.codegen.v3.swagger-codegen-maven-plugin和windows时也遇到了同样的问题(在MacOS上运行得很好,所以这不可能是一个语法问题)。
升级到最新的插件版本确实修复了该错误(在撰写本文时为3.0.27)。
https://stackoverflow.com/questions/53369190
复制相似问题