MvcOptions.ReturnHttpNotAcceptable的默认值为false, 此时,如果服务器端不支持http request中Accept的格式值,比如application/xml,则不会报错,返回默认格式的结果 也就是 json 格式的数据。
此时我们需要让他启用。
也就是 设置为true
services.AddControllers(setupAction =>
{
setupAction.ReturnHttpNotAcceptable = true;
})
但是此时 ,如果是XML的请求,则返回的 406 Not Acceptable
所有我们需要添加对XML的数据支持
传统的方法是在 AddControllers添加
setupAction.OutputFormatters.Add(
new XmlDataContractSerializerOutputFormatter()
);
但是新的我们将是这样 的
services.AddControllers(setupAction =>
{
setupAction.ReturnHttpNotAcceptable = true;
给控制器添加对XML的支持
//setupAction.OutputFormatters.Add(
// new XmlDataContractSerializerOutputFormatter()
//);
}).AddXmlDataContractSerializerFormatters();//给控制器添加对XML的支持
这样就能返回 XML的数据格式了。