Swagger UI 显示“未找到获取错误”

Xav*_* Sc 1 swagger asp.net-core-2.1

在我的 asp.net core 2.1 api 中,我添加了静态文件服务和 Swashbuckle,但显然找不到生成的 .json

services.AddSwaggerGen(x =>
    x.SwaggerDoc("Swagger", new Info { Title = "Asp.Net Core 2 Api", Description = "Swagger Core Api" }));
----
app.UseCors("AllowAll");
app.UseAuthentication();
app.UseStaticFiles();

app.UseSwagger();
app.UseSwaggerUI(x => x.SwaggerEndpoint("/swagger/swagger.json", "Core Api"));
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

任何的想法?谢谢

小智 5

您的 swagger 端点具有错误的 Url,因此出现“未找到”错误。通过默认方式构建的 Swagger 文档的 url 格式/swagger/<document-name>/swagger.json为在调用中提供的名称 (第一个字符串)参数x.SwaggerDoc("Swagger", new Info {...});

在您的情况下,您提供了“Swagger”,因此您的端点 url 应该是"/swagger/Swagger/swagger.json".

在您的 ConfigureServices 中,您的电话应该是这样的

app.UseSwaggerUI(x => x.SwaggerEndpoint("/swagger/Swagger/swagger.json", "Core Api"));