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;
}
}