在ASP.NET Core 5 Web API中,阻止HttpPost请求访问通常是由于缺少[HttpPost]特性或未正确配置CORS策略所致。
以下是添加[HttpPost]特性的示例代码:
[HttpPost]
public IActionResult MyPostAction([FromBody] MyModel model)
{
// 这里是你的代码逻辑
}
以下是在Startup.cs中配置CORS策略的示例代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(name: "AllowOrigin",
builder =>
{
builder.WithOrigins("http://example.com")
.AllowAnyHeader()
.AllowAnyMethod();
});
});
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCors("AllowOrigin");
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
以上代码中,在AddCors中设置了允许的请求来源为“http://example.com”,并且在Configure中使用了“AllowOrigin”策略。你可以根据自己的需求进行修改或添加。
如果以上方法都无法解决问题,你可以尝试查看请求是否正确发送,并检查服务器端是否有其他代码逻辑影响了请求访问。