首页 > 解决方案 > Swagger UI 显示“未找到获取错误”

问题描述

在我的 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"));

在此处输入图像描述

任何想法?谢谢

标签: swaggerasp.net-core-2.1

解决方案


您的 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"));


推荐阅读