JavaScript/TypeScript 程序员都是手写 swagger 文档的?

2022-06-20 18:43:10 +08:00
 BeautifulSoap

最近打算用 node 写点东西,就遇到了写接口文档的问题。之前用 Python, Go, Kotlin 等语言都有很方便的 swagger 生成工具,直接就可以根据代码里的类结构自动生成 swagger 文档

但是 node 这边似乎没有这方面的工具?就连 TypeScript 这种强类型的语言,我找了一大圈也没找到活跃度高用得人比较多的类似工具。

找了一圈全都是从 swagger 生成 js/ts 代码的工具。难道 JS/TS 程序员都是先手写 swagger 文档然后再反向生成的代码的?实在太强了,手写 swagger 因为过于痛苦我根本难以想象。。。。

至于找到的少数工具,基本都是不活跃或用的人少。至于 swagger-jsdoc 这样的工具,实际上就是直接把 swagger 文档给硬塞到注释里,实在没法称为自动生成。。。

所以想问一下有没有类似的其他语言中的 swagger 自动生成工具,可以直接根据我定义好的 TypeScript class 或 interface 还有路由直接生成 swagger 定义文件?

2189 次点击
所在节点    问与答
23 条回复
yetrun
2023-08-08 11:27:23 +08:00
@BeautifulSoap 那有没有可能,express 做的就是全栈开发,因此也就无所谓生成文档的问题了。nestjs 据一二楼说的是可以生成 Swagger 文档的,但是你说不好用那就这样吧。

我承认一点,TS 编译后类型信息丢失。但转过头一想,语言类型的强弱和生成 Swagger 文档其实没关系。Ruby 是弱类型语言,连类型定义都没有,但是仍然可以生成 Swagger 文档。Java 是强类型语言,但也没有单纯从 Java 类定义生成文档的,必须要借助注解。所以,没有生成 Swagger 的方案,要么是你没找到,要么确实是现在还没有,但和 TS 关系不大。
BeautifulSoap
2023-08-08 12:33:17 +08:00
@yetrun 服了你了,你一个连 TS 都没怎么用过,不光项目经验都没多少,对包括 java 在内的语言都不了解的人,怎么能做到仿佛什么都懂一样在这高谈阔论。说的话还全是错误
yetrun
2023-08-08 13:20:08 +08:00
@BeautifulSoap 行,你说的都是对的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860943

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX