Swashbuckle: UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'match' из неопределенного - PullRequest
1 голос
/ 03 февраля 2020

Я использую swagger- angular -генератор в течение нескольких месяцев с успехом. После очистки git мне пришлось переустановить с npm, и с тех пор он выдает следующую ошибку для всех вложенных C# свойств класса и перечисления:

(узел: 14544) UnhandledPromiseRejectionWarning: TypeError : Не удалось прочитать свойство 'match' из неопределенного в translateType (\ node_modules \ swagger- angular -generator \ dist \ common. js: 153: 26) в processProperty (\ node_modules \ swagger- angular -generator \ dist \ common. js: 44: 27) в _.flatMap (\ node_modules \ swagger- angular -generator \ dist \ common. js: 19: 53) в \ node_modules \ lodash \ loda sh. js: 3543: 27

Если я удаляю класс, он идет дальше и останавливается у следующего вложенного объекта. Это работало раньше, и мой код C# не изменился некоторое время. Я использую swashbucke в бэкэнде и создаю документ Swagger формата v2.

Что может go не так? Я использовал v4.1.0 генератора, поэтому я вернулся к этой версии, но это тоже не помогло. Так что я сейчас на 4.2.1. Скрипт узла, который я запускаю, запускает метод генерирования как generate(jsonPath, outputPath, /*generateStore:*/ false, /*unwrapSingleParamMethods:*/ false);

Обновление 1:

Я понял, что применен SchemaFilter в сгенерированной схеме openapi Swashbuckle . Поскольку я обновил свой проект до. NET Core 3.1 (с 3.0) и Swashbuckle с 5.0.0-rc4 до 5.0.0, свойство SchemaFilterContext.ApiModel недоступно. Я обновил свой фильтр, изменив context.ApiModel.Type на context.Type. Может ли это быть причиной ошибки в генераторе? Тем не менее, сгенерированная json схема выглядит нормально и также отображается в браузере Swashbuckle.

Обновление 2:

Хорошо, я просто вернулся к Swashbuckle .AspNetCore 5.0.0-rc4, используя старое свойство context.ApiModel.Type в моем фильтре схемы, и все снова работает правильно. Итак, мой последний вопрос: Что эквивалентно SchemaFilter.ApiModel.Type при обновлении с 5.0.0-rc4 до 5.0.0?

...