当前位置: 首页 > news >正文

【Go】Swagger v2 转 OpenApi v3 CLI - swag2op

写这个工具的原因,也是受万俊峰老师的启发,他把工作中重复的事情,整合到一个工具,然后开源,这件事很赞。

swag2op

在 【Go】Go Swagger 生成和转 openapi 3.0.3 这篇文档,主要是对 swagger 如何生成,以及如何用代码把生成的 swagger.json 转为 OpenApi 的 spec。总觉着这样很不直觉,而且都得再指定,再去转,有些麻烦。原本 swagger2openapi3 的 roadmap 也就是要写一个 cli,那刚好这篇就说明一下这个 cli 的用法。

swagger2openapi3 下的 cmd/swag2op 就是通过指令直接生成 OpenApi v3.0.3 的 cli。

swag2op 完全继承 swag 的用法,设计的时候就是想不要改变原本生成 swag 的方法,可以使用原来的,也可以在此基础上能够生成 OpenApi v3 的 spec。

安装方式也很简单:

go install github.com/zxmfke/swagger2openapi3/cmd/swag2op@latest

使用方式遵循 swag 的用法:

swag2op init
新增 flag

swag2op 提供了三个额外的 flag,以提供更多的灵活性:

  1. disableConvertOpenApiV3Flag

    这个标志决定是否将生成的 swagger.json 转换为 OpenAPI v3 格式。默认情况下是启用的。设计的时候也在想,有些人可能就是有时候要 OpenApi v3,有时候又不需要,所以提供这个 flag 可以更灵活。

  2. disableOverwriteSwaggerV2Flag

    这个标志决定是否在生成 OpenAPI v3.0 json 时不覆盖原始的 swagger.json。默认情况下是禁用的。swag2op 设计的时候就是直接生成 OpenApi 的 spec,又要保持原来在 docs 的目录下面,所以就得去覆盖原来的 docs 下的 swagger.json 和 swagger.yaml。不过有些人可能考虑我既要保留原本的,也要生成 OpenApi 的,所以就提供这个 flag。

  3. openapiOutputDirFlag

    这个标志指定生成的OpenAPI v3规范的输出目录。默认值是./openapi。

测试

在仓库下面有一个 example 文件夹,里面是一个简易的 gin 的 web server,可以安装后用这个 example 先测试下。

Roadmap

现在代码只能处理单个 project 下面的 swag,但是如果我是微服务的那种,但是我又要导入到某个一平台当做插件(要把接口都和到一个 spect 里面)。这个时候就无法满足这种场景,一个个手动贴也很烦,所以下一步就是可以生成某个微服务项目下的 OpenApi v3 spec,所有的接口都在一份 spec 里面。当然,如果除了这个方法之外还有更好的方法,欢迎分享。

http://www.lryc.cn/news/358026.html

相关文章:

  • python Z-score标准化
  • 人工智能的数学基础(高数)
  • React(四)memo、useCallback、useMemo Hook
  • 前端介绍及工具环境搭建
  • uniapp高校二手书交易商城回收系统 微信小程序python+java+node.js+php
  • Vue3 图片或视频下载跨域或文件损坏的解决方法
  • vue2和3区别
  • 倍福TwinCAT3 PLC编程软件下载安装
  • Linux一键式管理jar程序执行周期【完整脚本复制可用】
  • 设计模式之六大设计原则
  • 【iOS】UI学习(一)
  • 如何使用Vue和Markdown实现博客功能
  • 1初识C#
  • 查询指定会话免打扰
  • Linux-命令
  • STM32读写内部FLASH读取芯片id
  • 前端npm打包及报错解决
  • vbs执行报错vbs没有文件拓展,双击无法打开
  • 超详细的前后端实战项目(Spring系列加上vue3)前端篇(二)(一步步实现+源码)
  • 【国产中颖】SH79F9202U单片机驱动LCD段码液晶学习笔记
  • 人工智能初识
  • 【算法刷题day60】Leetcode:84. 柱状图中最大的矩形
  • ThingsBoard物联网网关在智慧城市数据采集中的应用
  • Java中的打印流PrintStream 和 PrintWriter
  • 【MATLAB源码-第217期】基于matlab的16QAM系统相位偏移估计HOS算法仿真,对比补偿前后的星座图误码率。
  • C# CryptoStream流的详解与示例
  • Kubernetes 之 ReplicaSet
  • 转发和重定向
  • 源码部署ELK
  • 构造+模拟,CF1148C. Crazy Diamond