Я пишу сервис NestJS, который предоставляет REST API и публикует некоторые сообщения в NATS. Мы используем поддержку NestJS для создания документов OpenAPI, а из документов OpenAPI мы генерируем SDK, который мы импортируем в наших клиентов. Все это прекрасно работает, но только REST API нашего кода находится в SDK.
Мы также хотели бы, чтобы NestJS включал DTO для содержимого сообщений, которые мы публикуем в NATS. Тогда наш SDK также будет включать в себя интерфейсы для этих DTO, а затем наши клиенты могут преобразовывать содержимое сообщения в правильный интерфейс (на основе темы сообщения). Таким образом, издатель события определяет содержимое события, и пользователям этого не нужно копировать интерфейс, но они получают строго типизированный код.
Я попытался добавить @Apiдекораторы для DTO, но, похоже, что если DTO не используется в определении @Controller, он не включается в результирующие документы openApi.
Я надеялся найти способ украсить «случайный»DTO в моем коде, поэтому он будет включен в документацию по swagger и, в свою очередь, включен в сгенерированный SDK. Возможно ли что-то подобное?