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

本文介绍如何通过修改Global文件及创建自定义IContentNegotiator实现WebAPI默认返回JSON格式,包括日期格式调整及驼峰命名策略应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 屏蔽默认返回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;
}
}




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/4386440.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值