【发布时间】:2020-02-28 03:56:36
【问题描述】:
我正在编写一个提供 REST API 的 NestJS 服务,它将一些消息发布到 NATS。我们使用 NestJS 支持来生成 OpenAPI 文档,并从 OpenAPI 文档中生成一个我们导入到客户端的 SDK。这一切都很好,但只有我们代码的 REST API 在 SDK 中。
我们还想做的是让 NestJS 为我们发布到 NATS 的消息的内容包含 DTO。然后我们的 SDK 还会包含这些 DTO 的接口,然后我们的客户端可以将消息内容转换为正确的接口(基于消息主题)。这样一来,事件的发布者就定义了事件的内容,用户不必复制界面,而获得强类型代码。
我尝试将 @Api 装饰器添加到 DTO,但似乎除非在 @Controller 的定义中使用 DTO,否则它不会包含在生成的 openApi 文档中。
我希望有一种方法可以在我的代码中装饰一个“随机”DTO,以便将其包含在 swagger 文档中,进而包含在生成的 SDK 中。有这样的可能吗?
【问题讨论】:
标签: node.js typescript swagger nestjs openapi