如何使用Maven插件处理OpenAPI 3(swagger)

时间:2018-11-19 06:11:27

标签: maven swagger openapi codegen

我已经编写了与Openapi 3(https://swagger.io/docs/specification/basic-structure/)兼容的API,但现在却尝试生成Java Spring对象,但都失败了,就像以前使用swagger定义及其相关的maven插件一样。

到目前为止,我已经有了基本的API定义,并且在我的pom.xml文件中添加了

<dependency>
<groupId>org.openapitools</groupId>
<art ifactId>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]

这是我的definition.yml文件的第一行:

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

请问有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

我目前正在使用openapi-generator-maven-plugin从OpenAPI JSON模式生成Java类。

错误看起来像语法问题。因此,首先请确保您的架构在语法上正确无误,如下所示:

actions_intent_OPTION

答案 1 :(得分:0)

我遇到了同样的问题(我需要提到这只发生在 Windows 上。相同的代码在 linux 下工作正常)。虽然我没有“解决方案”,但对我有用的解决方法是设置:

validateSpec = false

有点像

generatorName = "typescript-angular"
validateSpec = false
inputSpec = "${myInputSpec}".toString()
outputDir = "${generatedCodeDir}".toString()