services.AddControllers(setupAction=> {
//设置http请求返回的固定格式为json
setupAction.ReturnHttpNotAcceptable = true;
//配置了数据输出格式
//setupAction.OutputFormatters.Add(
// new XmlDataContractSerializerOutputFormatter()
// );
//配置xml的数据
}).AddXmlDataContractSerializerFormatters()
.ConfigureApiBehaviorOptions(setupAction =>//错误数据400改为422返回代码
{
setupAction.InvalidModelStateResponseFactory = context =>
{
var problemDetail = new ValidationProblemDetails(context.ModelState)
{
Type = "无所谓",
Title = "数据验证失败",
Status = StatusCodes.Status422UnprocessableEntity,
Detail = "请看详细说明",
Instance = context.HttpContext.Request.Path
};
problemDetail.Extensions.Add("traceId", context.HttpContext.TraceIdentifier);
return new UnprocessableEntityObjectResult(problemDetail)
{
ContentTypes = { "application/problem+json" }
};
};
});
.NET CORE 自定义错误返回报告
ASP.NET Core 中的错误处理与数据验证
最新推荐文章于 2025-09-03 16:24:05 发布
本文介绍了在ASP.NET Core中如何配置HTTP响应格式为JSON,设置错误数据400状态码为422 Unprocessable Entity,并详细展示了如何自定义错误处理,包括创建ValidationProblemDetails实例来提供详细的错误信息。此外,还展示了如何添加和配置XML数据格式支持。
594

被折叠的 条评论
为什么被折叠?



