asp.net core 内容协商

请求头部的媒体类型定义"accept"与"Content-type" (application/JSON, applicaticn/xml)可以切换服务器返回数据格式,

Asp.Net Core 默认以json的格式返回数据,如果客户端要求了不支持的数据格式,会以json格式返回,并返回状态码200 OK,但实际上这并不能算成功的请求,因为返回的数据格式不正确,如果需要更改这种默认行为,即遇到不支持的数据格式,以406状态码通知客户端数据格式无法解析,需要配置属性 ReturnHttpNotAcceptable = true;

如果需要添加对xml数据格式的支持,需要配置 .AddXmlDataContractSerializerFormatters();

  services.AddControllers(setupAction =>
  {
      setupAction.ReturnHttpNotAcceptable = true;
  }).AddXmlDataContractSerializerFormatters();
posted @ 2021-10-31 15:42  weichangk  阅读(57)  评论(0编辑  收藏  举报