Я разрабатываю приложение ASP.NET Core 2 и включаю Swagger. Все работало нормально, пока я не представил метод без явного определения действия HTTP:
public class ErrorController : Controller
{
[Route("/error")]
public IActionResult Index()
{
return StatusCode(500, new Error("Internal error."));
}
}
Когда я запустил приложение с помощью этого метода, появилось следующее сообщение:
Не удалось загрузить определение API.
Ошибки
Ошибка выборки Внутренняя ошибка сервера /swagger/v1/swagger.json
Как только я явно установил, например. [HttpGet] ошибка исчезает. Проблема в том, что мне нужно, чтобы этот метод запускался для всех возможных операций HTTP.
Конечно, я мог бы явно указать все операции, но у меня такое ощущение, что Swagger должен справиться с этим правильно.
Почему Swagger ведет себя таким образом?
Есть ли какая-либо конфигурация, которую я могу использовать?
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My Service", Version = "v1" });
});
app.UseSwagger(c =>
{
c.PreSerializeFilters.Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value);
});
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "swagger"; // serve the UI at root
c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs");
})
Подробнее здесь: https://stackoverflow.com/questions/502 ... definition
Swashbuckle/Swagger + ASP.Net Core: «Не удалось загрузить определение API» ⇐ C#
Место общения программистов C#
1768512647
Anonymous
Я разрабатываю приложение ASP.NET Core 2 и включаю Swagger. Все работало нормально, пока я не представил метод без явного определения действия HTTP:
public class ErrorController : Controller
{
[Route("/error")]
public IActionResult Index()
{
return StatusCode(500, new Error("Internal error."));
}
}
Когда я запустил приложение с помощью этого метода, появилось следующее сообщение:
Не удалось загрузить определение API.
Ошибки
Ошибка выборки Внутренняя ошибка сервера /swagger/v1/swagger.json
Как только я явно установил, например. [HttpGet] ошибка исчезает. Проблема в том, что мне нужно, чтобы этот метод запускался для всех возможных операций HTTP.
Конечно, я мог бы явно указать все операции, но у меня такое ощущение, что Swagger должен справиться с этим правильно.
Почему Swagger ведет себя таким образом?
Есть ли какая-либо конфигурация, которую я могу использовать?
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My Service", Version = "v1" });
});
app.UseSwagger(c =>
{
c.PreSerializeFilters.Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value);
});
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "swagger"; // serve the UI at root
c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1 Docs");
})
Подробнее здесь: [url]https://stackoverflow.com/questions/50209122/swashbuckle-swagger-asp-net-core-failed-to-load-api-definition[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия