Не удалось загрузить определение API 500 Внутренняя ошибка сервера с помощью Swagger - PullRequest
0 голосов
/ 05 февраля 2019

Я создал новое веб-приложение Asp.net Core 2.2.Затем я настроил Swagger следующим образом.В методе ConfigureServices файла запуска у меня есть следующее:

services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new Info
    {
        Title = "My API", Version = "v1" 
    });
});

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

Далее в методе Configure у меня есть

if (env.IsDevelopment())
    app.UseDeveloperExceptionPage();
else
    app.UseHsts();

app.UseSwagger();
app.UseHttpsRedirection();
app.UseMvc();

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = string.Empty;
});

Пока все хорошо.Swagger UI работает потрясающе.Проблемы начались, когда я представил простой контроллер MVC.

[Route("[controller]/[action]")]
public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}

Я получаю следующую ошибку

Не удалось загрузить определение API. Ошибки Ошибка выборки Внутренняя ошибка сервера /swagger/v1/swagger.json

Swagger Error with Asp.net Mvc Core Controller

Похоже, Swagger не принимает основной контроллер MVC Asp.net.Если я прокомментирую тот контроллер mvc, все снова будет работать нормально.

Есть ли выход из этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...