• WebApi 返回小驼峰式 json 格式,并格式化日期


    from:http://blog.csdn.net/magiccops/article/details/42969363

      屏蔽默认返回xml格式:Global文件加:GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 

    在 WebApiConfig 类中增加方法ConfigureApi,并在 Register 方法最后调用一下    ConfigureApi(config);    

    增加一个实现IContentNegotiator 接口的类 JsonContentNegotiator

    详细如下:

     public static void ConfigureApi(HttpConfiguration config)

            {
                var jsonFormatter = new JsonMediaTypeFormatter();
                var settings = jsonFormatter.SerializerSettings;

                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
                //这里使用自定义日期格式
                timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
                settings.Converters.Add(timeConverter);


                settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
                config.Services.Replace(typeof(IContentNegotiator), new JsonContentNegotiator(jsonFormatter));   

            }


      public class JsonContentNegotiator : IContentNegotiator
        {
            private readonly JsonMediaTypeFormatter _jsonFormatter;


            public JsonContentNegotiator(JsonMediaTypeFormatter formatter)
            {
                _jsonFormatter = formatter;
            }


            public ContentNegotiationResult Negotiate(Type type, HttpRequestMessage request, IEnumerable<MediaTypeFormatter> formatters)
            {
                var result = new ContentNegotiationResult(_jsonFormatter, new MediaTypeHeaderValue("application/json"));
                return result;
            }
        }

  • 相关阅读:
    金额转换问题
    进制转换(十进制->二进制、八进制、十六进制)
    Linux下Tomcat的安装
    Linux下安装jdk配置java环境变量
    Linux下安装Mysql
    在Linux下安装Redis
    Redis常用操作
    阿里云服务器部署tomcat服务器无法访问
    mysql 创建数据库 编码
    docker 安装oracle
  • 原文地址:https://www.cnblogs.com/94cool/p/4386440.html
Copyright © 2020-2023  润新知