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" }
};
};
});