如何从基于 TypeScript 的 Express 应用程序生成 swagger API 文档?

jsl*_*oop 11 node.js express swagger typescript

我可以通过 Swagger文章使用带有自动生成的 OpenAPI 文档Express API配置 swagger url 。

我正在使用 TypeScript,它.js在 dist 下生成没有添加任何 API 文档注释的文件。指向apis: ['../dist/*.js']或指向Route.ts生成 API 详细信息。我没有使用任何休息装饰器。

/**
 * @swagger
 * /:
 *    get:
 *      description: This should return ok
 */
this.router.get("/", (req: Request, res: Response) => this.api.process(req, res));
Run Code Online (Sandbox Code Playgroud)

Routes.tsAPI文档看起来就像上面。如何从中生成swagger doc?

Gre*_*ons 16

我建议您使用一个可以为您处理所有事情的库,例如tsoa,它可以轻松地从您的 TypeScript 类型生成 Swagger/OpenAPI 文档。它还为您执行运行时验证,以便您知道请求实际上是 TypeScript 所说的类型。自述文件包含开始使用它所需的所有设置信息。它与 express、hapi、koa 等兼容:

https://github.com/lukeautry/tsoa


(完全透明:我是 tsoa 的维护者之一。但我首先是 tsoa 的消费者,我发现它是一个很棒的产品......这就是我要求帮助维护它的原因!:))

  • Tsoa可以只生成swagger+validation而不生成路由吗?我找不到任何没有路线生成的示例 (4认同)