ASP.NET Core 5 Web API配置Swagger后访问44358端口提示网页找不到如何解决?
问题解决步骤
1. 补全Swagger中间件配置
你已经在服务注册阶段添加了Swagger生成逻辑,但没有在HTTP请求管道中启用Swagger和SwaggerUI中间件,是导致页面无法访问的核心原因之一。
在Startup.cs的Configure方法开发环境判断块中添加以下代码:
if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); // 新增Swagger中间件 app.UseSwagger(); app.UseSwaggerUI(options => { var apiVersionProvider = app.ApplicationServices.GetRequiredService<IApiVersionDescriptionProvider>(); foreach (var versionDesc in apiVersionProvider.ApiVersionDescriptions) { options.SwaggerEndpoint($"/swagger/{versionDesc.GroupName}/swagger.json", versionDesc.GroupName.ToUpper()); } }); }
2. 匹配启动配置与访问地址
查看你的launchSettings.json,两种启动模式的监听地址不同:
- 若启动项选择IIS Express,HTTPS访问地址才是
https://localhost:44358 - 若启动项选择DDM.API.Web(自托管模式),HTTPS监听地址是
https://localhost:5001,访问44358必然404
如果需要自托管模式也用44358端口,修改DDM.API.Web配置下的applicationUrl为:
"applicationUrl": "https://localhost:44358;http://localhost:5000"
3. 访问正确的路由地址
Web API项目默认没有配置根路径的返回内容,直接访问域名根地址会返回404,正确的访问路径为:https://localhost:你使用的端口/swagger
访问该地址即可打开Swagger接口文档页面。
4. 修复潜在配置错误
你的AuthExtension类中存在上下文不匹配问题:注册Identity时用的是DDMDbContext,但存储配置用的是AppDbContext,两者不一致会导致后续身份认证逻辑报错,建议统一为同一个DbContext。
内容的提问来源于stack exchange,提问作者Olugbenga
相关产品推荐
相关产品推荐

