当前位置: 首页 > 知识库问答 >
问题:

当使用OpenAPI生成器与OpenAPI 3.0时,“无法识别令牌openapi”错误是什么意思?

杜君浩
2023-03-14

我已经用OpenAPI 3.0格式编写了一个API定义(https://swagger.io/docs/specification/basic-structure/).现在,我正试图生成Java Spring对象,就像我之前使用Swagger 2.0定义及其关联的Maven插件所做的那样。

到目前为止,我有一个基本的API定义,首先是:

openapi:3.0.0信息:标题:演示API描述:这是实现[openapi规范]的基本restapi(https://en.wikipedia.org/wiki/OpenAPI_Specification).版本:0.0.1

在我的pom.xml文件中,我添加了:

<dependency>
  <groupId>org.openapitools</groupId>
  <artifactId>openapi-generator-cli</artifactId>
  <version>3.3.3</version>
</dependency>

但是在执行mvn安装时,我得到以下错误:

com.fasterxml.jackson.core.JsonParseException: Unrecognized
     token 'openapi': was expecting ('true', 'false' or 'null')
     at [Source: definition\DEFINITION.yml; line: 1, column: 9]

有人知道问题出在哪里吗?

共有3个答案

翟黎明
2023-03-14

我收到了一个类似的错误使用CLI版本的OpenAPI生成器。基于这个问题/评论,我相信YAML规范中的任何验证问题都会触发生成器假设文件是JSON。

至少我的文件是这样的。。。不幸的是,我不得不使用另一种工具来验证YAML,然后OpenAPI生成器开始工作。

霍弘厚
2023-03-14

我在使用io时也遇到了同样的问题。大摇大摆科德根。v3。swagger codegen maven插件和windows(在MacOS上运行良好,所以不可能是语法问题)。

升级到最新的插件版本确实修复了错误(撰写本文时为3.0.27)。

江英卓
2023-03-14

我遇到了同样的问题(我需要指出的是,这只发生在windows上。同样的代码在linux下也可以正常工作)。虽然我没有“解决方案”,但对我有效的解决方案是:

validateSpec = false

大概是

generatorName = "typescript-angular"
validateSpec = false
inputSpec = "${myInputSpec}".toString()
outputDir = "${generatedCodeDir}".toString()
 类似资料:
  • OpenAPI3.0规范规定,没有任何类型的模式将匹配任何数据类型。 没有类型的模式匹配任何数据类型--数字、字符串、对象等等。 因此,对此进行建模的正确方法是下面的Swagger定义,其中没有属性: 但是,每个开放问题Swagger-core#3834,Java值都映射到OpenAPI类型,而不是任意类型。如上所述,这意味着这样的API返回或接受不是OpenAPI的类型是不正确的,例如、、等。

  • 我们正在考虑为我们的项目使用grails 4.0.0,我看到这个新版本将Micronaut作为新的父应用程序上下文,并且处理了许多Micronaut特性(见grails doc:http://docs.grails.org/latest/guide/introduction.html#micronautSupport) 我们希望使用Micronaut Swagger/OpenAPI文档生成器功能(

  • 作为第一步,我使用了Quarkus Openapi指南:https://Quarkus.io/guides/openapi-swaggerui,但是在运行未修改的示例并通过http://localhost:8080/Openapi检索Openapi YAML-Data之后,我注意到生成的数据是错误的,并且Openapi生成器由于stackoverflow错误而无法生成客户端。 问题:SetFrui

  • **代码:(类名已重命名)** 两个版本中的CheeseDTO YAML: 使用springdoc-openapi-ui 1.3.9,我的yaml是这样生成的: 昂首阔步3注释: OpenAPi生成器maven插件 有没有办法用springdoc-openapi-ui>1.4.0生成?我必须更改我的大摇大摆的注释或更改我的java生成器吗?

  • 我正在使用 https://github.com/OpenAPITools/openapi-generator 为我的应用编程接口创建一个客户端。它基本上工作正常,但是生成器创建了许多类型,这些类型封装了包括任何复杂性类型的参数,例如、、 例如 其中InlineObject11定义为 这有什么意义?为什么生成的客户端不接受流再平衡贸易文件(Stream rebalanceTradeFile),而不

  • 我正在使用和从yaml文件生成java服务器API,如下所示: 我遇到的问题是,生成的代码试图导入一个不存在的类。API应该接受pet类型的对象并返回相同的pet。宠物应该是猫、狗或蜥蜴。我使用了openapi规范中的继承示例,并从中构建了以下yaml文件: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.