Как обновить модуль Nest JS Swagger, но использовать OpenAPI 2.0 (Swagger)? - PullRequest
1 голос
/ 06 февраля 2020

Мы создаем API в Node.js / Typescript с каркасом Nest JS. Мы используем пакет @nestjs/swagger, чтобы он соответствовал OpenAPI (ранее известный как Swagger). Он предназначен для использования с Azure/autorest для генерации клиентского кода.

Авторест поддерживает OpenAPI 2.0, а не 3.0 пока. @nestjs/swagger 3.*.* реализован OpenAPI 2.0. Когда мы обновляем @nestjs/swagger до 4.*.*, он превращается в OpenAPI 3.0. Это не соответствует нашим потребностям, потому что мы больше не можем использовать Autorest. С другой стороны, отсутствие обновления пакета означает, что мы можем пропустить обновления безопасности или даже не иметь возможности обновить всю структуру Nest JS.

Есть ли способ обновить @nestjs/swagger и остаться с OpenAPI 2.0

1 Ответ

1 голос
/ 09 февраля 2020

К сожалению нет. Внутренне @nestjs/swagger v4 специально генерирует OpenAPI 3.0 specification специально. Пока вы ожидаете официального выпуска autorest 3, есть два варианта.

  • Оставайтесь на @nestjs/swagger v3. Что касается update the entire NestJS framework, вам не нужно об этом беспокоиться, поскольку @nestjs/swagger - это в значительной степени автономный пакет. Проблема безопасности, касающаяся зависимостей, я вижу, что ваша проблема там действительна.
  • Попробуйте autorest 3.beta, чтобы убедиться, что она достаточно стабильна для использования.
...