Sta*_*lez 4 .net-core webapi swashbuckle.aspnetcore
我有一个带有 .NET 5 的 Web API 项目(直接从 Visual Studio Asp.NET Core Web API 的模板创建),它在从 Visual Studio 调试时工作得很好,尝试将它部署到具有 Hosting Bundle 的 IIS 服务器.NET 5 安装后,部署显然运行良好,但是当我输入 url 时,我有一个 404。有一个单独的 MVC .NET 5 项目,我以相同的方式部署它并且它运行得非常好。
想知道是否有人可以指出我正确的方向,在这里找不到我缺少的东西。
在搜索并弄乱 Startup.cs 文件后,我注意到
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "api v1"));
Run Code Online (Sandbox Code Playgroud)
在验证 if(env.IsDevelopment()) 中,但是 api 端点工作得很好,尽管它不起作用,因为我无法看到 Swagger 站点,可能是因为您不想公开你给每个人的 api... 感觉我在某处错过了一些解释,但现在一切都很好。
面临同样的问题。配置完成后,尝试浏览时出现404错误。
原因是,Swagger 页面将仅在开发环境中配置,如下(在 Startup.cs 中)。
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "AppName v1"));
}
Run Code Online (Sandbox Code Playgroud)
如果我们输入正确的 URL,API 将可用。如果您仍想查看 Swagger 文件
更改startup.cs中的代码删除对
if (env.IsDevelopment())
或者在您的 web.config 文件中将环境设置为“开发”。
归档时间: |
|
查看次数: |
810 次 |
最近记录: |