添加.net core web Api 对XML数据格式的支持

默认情况下WebApi 返回的数据类型是Json格式的数据,XML请求的也会返回json格式,这显然不是我们想要的

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的数据格式了。

你可能感兴趣的:(.NET,core,API,.netcore,前端,xml)