要在ASP .NET Core中使用Cors进行带有请求体的Post API,并返回400错误请求,你可以按照以下步骤操作:
首先,确保你已经安装了Microsoft.AspNetCore.Cors的包。你可以在NuGet包管理器中搜索并安装它。
在你的Startup.cs文件中,添加以下代码来启用Cors:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
// 添加其他服务配置代码...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他配置代码...
app.UseCors("AllowAllOrigins");
// 其他配置代码...
}
这里我们使用了名为"AllowAllOrigins"的策略,并允许任何来源、任何方法和任何标头。
[ApiController]
[Route("api/[controller]")]
[Cors("AllowAllOrigins")]
public class YourController : ControllerBase
{
// 其他控制器代码...
}
[HttpPost]
public IActionResult Post([FromBody]YourModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// 处理请求...
return Ok();
}
这里我们使用了ModelState来验证请求体的有效性。如果验证失败,我们返回一个BadRequest结果,它将自动序列化ModelState并作为响应返回。
以上就是在ASP .NET Core中使用Cors进行带有请求体的Post API并返回400错误请求的解决方法。希望对你有所帮助!