Swagger пытается представить API в зависимостях, вызывая внутреннюю ошибку службы - PullRequest
0 голосов
/ 08 июля 2019

При попытке настроить сваггер я получаю следующее «необработанное исключение» после перехода к «swagger / v1 / swagger.json»:

NotSupportedException: метод HTTP «POST» и путь «подключиться / авторизоваться»> перегружены действиями - (ссылки на 3 API)

Действия требуют уникальной комбинации метод / путь для Swagger 2.0. Используйте ConflictingActionsResolver в качестве обходного пути

В противном случае это было бы полезно, но корень этой проблемы заключается в том факте, что это сообщение об ошибке ссылается на API, которые определены в зависимостях в ветви NuGet в моем проекте VS 2017. Это способ, которым я могу сказать swagger игнорировать API или что-то, что может напоминать API в ветке зависимостей проектов?

1 Ответ

0 голосов
/ 09 июля 2019

Решение:

Учитывая, что API определен в библиотеках зависимостей, многих более распространенных решений, т. Е. [ApiExplorerSettings(IgnoreApi = true)] (тег, добавляемый к определению API), будет недостаточно.

Чтобы решить проблемы с уникальными комбинациями методов и путей, когда API выходит за рамки вашего проекта (зависимости), измените метод ConfigureServices () следующим образом:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new Info { Title = "API WSVAP (WebSmartView)", Version = "v1" });
    c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
});
...