我们正在使用NestJS框架在Node.js/Typescript中制作一个API。我们使用@nestjs/swagger
包使其符合OpenAPI(以前称为Swagger)。它旨在与Azure/autorest
一起使用以生成客户端代码。
Autorest支持OpenAPI 2.0,而不是3.0。@nestjs/swagger 3.*.*
实现了OpenAPI 2.0。当我们将@nestjs/swagger
更新为4.*.*
时,它将变成OpenAPI 3.0。这不符合我们的需要,因为我们不能再使用Autorest。另一方面,不更新包意味着我们可能会错过安全更新,甚至无法更新整个NestJS框架。
有没有办法更新@nestjs/swagger
并保持OpenAPI 2.0?
2条答案
按热度按时间8ulbf1ek1#
很不幸没有在内部,
@nestjs/swagger
v4专门生成OpenAPI 3.0 specification
。在您等待autorest 3
正式发布时,现在有两种选择。@nestjs/swagger
v3。至于update the entire NestJS framework
,您不必担心这一点,因为@nestjs/swagger
是一个非常独立的软件包。关于依赖关系的安全问题,我可以看到你的担忧是有道理的。autorest 3.beta
,看看它是否足够稳定。hec6srdp2#
也许你可以用图书馆
api-spec-converter enter link description here
字符串
在package.json中添加调用脚本:
“convert:swagger”:“node ./swagger-converter.js”
请注意,源路径是由NestJS生成的路径。
另外一点是,我在.yaml中生成输出,但您可以在.json中生成它,只需删除语法选项并使用**converter.stringify()**option