首页 > Windows开发 > 详细

WebApi返回数据类型针对部分api设置json格式数据风格

时间:2020-02-19 18:01:44      阅读:78      评论:0      收藏:0      [点我收藏+]

在全局设置webapi设置json返回类型首字母小写:config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

但是想针对个别api设置默认的json格式,怎么办呢?

下面是一种方案:

第一步:自定义一个消息处理程序

/// <summary>
    /// 自定义http消息处理程序
    /// </summary>
    public class MessageHandlerOne : DelegatingHandler
    {
        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
        
            if (request.RequestUri.AbsolutePath.Contains("api地址中使用默认的标识"))//如api/ddd
                request.GetConfiguration().Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver();
            else
                request.GetConfiguration().Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            return base.SendAsync(request, cancellationToken);

        }
  
    }

第二步:将自定义消息处理程序加的GlobalConfiguration中

GlobalConfiguration.Configure(config =>
{
config.MessageHandlers.Add(new MessageHandlerOne());
});

 

WebApi返回数据类型针对部分api设置json格式数据风格

原文:https://www.cnblogs.com/Jenny-1/p/12332277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!