首页 > 解决方案 > 如何从基于 TypeScript 的 Express 应用程序生成 swagger API 文档?

问题描述

我可以通过 Swagger文章使用Express API 和自动生成的 OpenAPI 文档来配置 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));

Routes.tsAPI 文档与上面类似。如何从中生成swagger doc?

标签: node.jstypescriptexpressswagger

解决方案


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

https://github.com/lukeautry/tsoa


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


推荐阅读