ASP.NET Core 6.0 Web API POST请求返回404 Not Found问题求助
解决ASP.NET Core 6.0 Web API POST请求404错误
问题诊断与修复步骤
1. 注册控制器服务(核心问题)
你的Program.cs中仅注册了Razor Pages服务,但API控制器需要单独注册对应服务。修改Program.cs代码:
var builder = WebApplication.CreateBuilder(args); // 添加控制器服务(替换或补充原有的AddRazorPages) builder.Services.AddControllers(); var app = builder.Build(); // 保留原有的中间件配置 if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.MapControllers(); // 确保该行存在,用于映射控制器路由 app.Run();
2. 验证Postman请求地址
EmailController的路由配置为api/[controller],对应正确的请求URL应为:POST https://localhost:<你的API运行端口>/api/Email
请确认端口号与API启动时显示的端口一致,无拼写错误。
3. 确认Postman请求配置正确
- 请求头:必须包含
Content-Type: application/json,告知API接收JSON格式的请求体 - 请求体:使用raw JSON格式,示例内容:
{ "Email": "test@example.com" }
额外检查点
- 确保API项目处于调试运行状态,Postman请求的协议(HTTP/HTTPS)与API启动协议一致
- 确认控制器类和方法的访问修饰符为
public(你的代码已满足此要求)
内容的提问来源于stack exchange,提问作者陳芸萱
相关产品推荐
相关产品推荐

