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

使用swagger 4生成swagger 2.0 yaml。x包

戚成礼
2023-03-14

我将把我的API服务器集成到Google云endpoint。

谷歌云endpoint目前支持昂首阔步2.0。

但是我的依赖项/库现在是最新版本。因此,我希望生成swagger 2.0 yaml文件,而不降级swagger库版本(apiendpoint已经在swagger 4.x-openapi 3.0规范中描述)。

Nestjs和swagger依赖项(package.json):

...

"@nestjs/common": "^7.0.0",
"@nestjs/config": "^0.4.0",
"@nestjs/core": "^7.0.0",
"@nestjs/platform-express": "^7.0.0",
"js-yaml": "^3.14.0",

...

"@nestjs/swagger": "^4.5.4",
"swagger-ui-express": "^4.1.4",

...

和大摇大摆生成器脚本:

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import * as fs from 'fs'
import * as yaml from 'js-yaml'

const generateSwaggerYaml = async () => {
  const app = await NestFactory.create(AppModule);
  const options = new DocumentBuilder()
    .setTitle('API Title')
    .setDescription('API Description')
    .build()

  const document = SwaggerModule.createDocument(app, options)

  fs.writeFileSync("./openapi-run.yaml", yaml.safeDump(document))
}


generateSwaggerYaml()

脚本输出为openapi 3.0规范:(

openapi: 3.0.0
info:
  title: API Title
  description: API Description.
  version: 1.0.0
  contact: {}
tags: []
servers: []

...

是否有任何选项/方法来生成虚张声势2。openapi 3.0文档中的0 yaml?

我怎么能降级openapi 3.0规格为昂首阔步2.0规格?

共有1个答案

充阳秋
2023-03-14

我使用github的这个项目就是为了这个目的:https://github.com/LucyBot-Inc/api-spec-converter

对于OpenAPI3YAML到swagger 2YAML,它就像$api规范转换器一样简单——从openapi_3——语法yaml——到swagger_2${f}

 类似资料:
  • 本文向大家介绍MyBatisPlus3.x中使用代码生成器(全注释),包括了MyBatisPlus3.x中使用代码生成器(全注释)的使用技巧和注意事项,需要的朋友参考一下 场景 MyBaitsPlus3.x与2.x是不一样的。这里使用3.0.1版本。 官方文档 https://mp.baomidou.com/guide/generator.html 这里在IDEA上的SpringBoot项目中进行

  • 在JavaFX应用程序中创建nxn网格最简单的方法是什么? 我寻找的唯一要求是网格的大小将始终占用相同的空间量,因此更多的正方形=更小的正方形。我可以为正方形设置颜色,并且可以将鼠标悬停在每个正方形上,并能够为每个正方形显示一些颜色。 我不会知道'N',直到程序运行并解析一些数据以计算出我需要多少个总平方,这是当我计算我可以使用的最小NxN网格时。 据我所知,我的选择是: < li>GridPan

  • 我使用swagger codegen 3.0.21生成C#api客户端。 生成器为所有引用的类创建/模型中以AllOf[Classname]开头的附加类。 为什么Swagger CodeGen会生成这些类?它们的用途是什么?我的隔离也有多个错误。 生成的json的相关更改部分: MyClass的构造函数生成如下: 如您所见,propertyThree和propertyFour的数据类型只是空白。

  • 我正在尝试使用pluggin从wsdl创建Java类。 在版本1.5中,这段代码来自WSDL中的Generate classes With jaxb2 maven plugin: 但当使用插件版本2.3.1时,我会出现以下错误: 有人知道如何在这个新的插件版本中使用WSDL文件吗?

  • 我无法在Catalina 10.15.2中运行命令: 它向我返回以下消息: 我试过跑步 哪里 没有运气。我无法运行该命令,因此无法成功运行该命令 mvn安装-Pnative。 [pastebin][1] 我已经读过这个[帖子][2],对我来说不起作用。 救命啊求你了 更新 好的,我已经应用了建议,现在我可以创建native-image,但是当我尝试运行mvn install-P本国时,我遇到了一个

  • 可以使用Spring RestDocs生成的另一件事是Spring Cloud Contract DSL文件和文档。如果您将其与Spring Cloud WireMock相结合,那么您将获得合同和存根。 提示 您可能会想知道为什么该功能在WireMock模块中。来想一想,它确实有道理,因为只生成合同并且不生成存根就没有意义。这就是为什么我们建议做这两个。 我们来想象下面的测试: this.mo