我正在编写一个提供REST API的NestJS服务,它会将一些消息发布到NATS。我们正在使用NestJS支持来生成OpenAPI文档,然后从OpenAPI文档中生成导入到客户端的SDK。这一切都很好,但是SDK中只有我们代码的REST API。
我们还要做的就是让NestJS包含DTO,以供发布到NATS的邮件内容使用。然后,我们的SDK也将包含这些DTO的接口,然后我们的客户可以将消息内容转换为正确的接口(基于消息主题)。这样,事件的发布者可以定义事件的内容,并且事件的用户不必复制接口,但是他们可以获得强类型的代码。
我曾尝试将@Api装饰器添加到DTO,但似乎除非在@Controller的定义中使用DTO,否则它不会包含在生成的openApi文档中。
我一直希望在我的代码中装饰一个“随机” DTO,以便将其包含在swagger文档中,然后包含在生成的SDK中。这样有可能吗?
答案 0 :(得分:0)
您还可以将extraModels数组作为SwaggerDocumentOptions的一部分传递
SwaggerModule.createDocument(app, config, {
extraModels: [.......]
});