Я разрабатываю приложение 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 ведет себя так?
Можно ли использовать какую-либо конфигурацию?