ASP.NET Развязность веб-API (Swashbuckle) Дублировать OperationId

#c# #visual-studio #asp.net-web-api #swagger #swashbuckle

#c# #visual-studio #asp.net-web-api #чванство #swashbuckle

Вопрос:

У меня есть контроллер веб-api, как показано ниже. BarcodeImageControllerВ выводе swagger у меня есть изображение нижеВывод чванства, и когда я хочу использовать его в другом консольном приложении, оно показывает приведенную ниже ошибку Ошибка клиента Swagger Rest

Примечание. Я следовал руководству по настройке определений API, созданных Swashbuckle, но все равно получаю ту же ошибку. Есть идеи?

Ответ №1:

Я нашел это, когда искал тот же вопрос. Для меня это была глупая ошибка: методы контроллера имели одно и то же имя. По-видимому, Swashbuckle использует имя метода в качестве идентификатора операции.

Комментарии:

1. Для меня это было добавление имени в атрибут метода http в сочетании с атрибутом маршрута. Шаблон атрибута маршрута должен быть удален и помещен в атрибут метода Http.

Ответ №2:

Мне, должно быть, нужно добавить атрибут Route поверх методов действий. Как показано ниже: Контроллер API с поворотамиИтак, API изменился на конечные точки пользовательского интерфейса ниже SwaggerПользовательский интерфейс Swagger, и когда я использовал это Swagger в своем консольном приложении, я получил приведенный ниже OperationIdСписок OperationId], и теперь я могу вызывать, как показано ниже (просто пример) Клиентский код консольного приложения