C#中的WebApi响应Accept头,自动返回xml或者json

Global.asax.cs中的Application_Start方法添加

GlobalConfiguration.Configuration.Formatters.Clear(); GlobalConfiguration.Configuration.Formatters.Add(new XmlMediaTypeFormatter()); GlobalConfiguration.Configuration.Formatters.Add(new JsonMediaTypeFormatter());

.net core写在public void ConfigureServices(IServiceCollection services) 方法中


builder.Services.AddControllers(op => { op.RespectBrowserAcceptHeader = true; }).AddXmlSerializerFormatters();

postman参考:

C#中的WebApi响应Accept头,自动返回xml或者json_第1张图片

C#中的WebApi响应Accept头,自动返回xml或者json_第2张图片

如果使用Dynamic类型,需要添加xmlInClude来指定序列化的类

 await Task.Run(new Action(() =>
 {
     response.data = _db.Database.SqlQueryRaw(sql).FirstOrDefault();

 }));
   [XmlInclude(typeof(OutputEntityC))]
   [XmlInclude(typeof(OutputEntityM))]
   public class ResponseEntity
   {
       public string flag { get; set; }
       public string message { get; set; }
      
       public dynamic data { get; set; }

   }

你可能感兴趣的:(xml,webapi,accept头)