关于asp_sql网站开发的书籍,网站建设服务非常好湖南岚鸿公司,做个网页需要多少钱,网站宣传推广的目的写这个工具的原因#xff0c;也是受万俊峰老师的启发#xff0c;他把工作中重复的事情#xff0c;整合到一个工具#xff0c;然后开源#xff0c;这件事很赞。 swag2op
在 【Go】Go Swagger 生成和转 openapi 3.0.3 这篇文档#xff0c;主要是对 swagger 如何生成#… 写这个工具的原因也是受万俊峰老师的启发他把工作中重复的事情整合到一个工具然后开源这件事很赞。 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/swag2oplatest使用方式遵循 swag 的用法:
swag2op init新增 flag
swag2op 提供了三个额外的 flag以提供更多的灵活性 disableConvertOpenApiV3Flag 这个标志决定是否将生成的 swagger.json 转换为 OpenAPI v3 格式。默认情况下是启用的。设计的时候也在想有些人可能就是有时候要 OpenApi v3有时候又不需要所以提供这个 flag 可以更灵活。 disableOverwriteSwaggerV2Flag 这个标志决定是否在生成 OpenAPI v3.0 json 时不覆盖原始的 swagger.json。默认情况下是禁用的。swag2op 设计的时候就是直接生成 OpenApi 的 spec又要保持原来在 docs 的目录下面所以就得去覆盖原来的 docs 下的 swagger.json 和 swagger.yaml。不过有些人可能考虑我既要保留原本的也要生成 OpenApi 的所以就提供这个 flag。 openapiOutputDirFlag 这个标志指定生成的OpenAPI v3规范的输出目录。默认值是./openapi。
测试
在仓库下面有一个 example 文件夹里面是一个简易的 gin 的 web server可以安装后用这个 example 先测试下。
Roadmap
现在代码只能处理单个 project 下面的 swag但是如果我是微服务的那种但是我又要导入到某个一平台当做插件(要把接口都和到一个 spect 里面)。这个时候就无法满足这种场景一个个手动贴也很烦所以下一步就是可以生成某个微服务项目下的 OpenApi v3 spec所有的接口都在一份 spec 里面。当然如果除了这个方法之外还有更好的方法欢迎分享。