概述
config.Formatters.Insert(0, new InkeyJsonMediaTypeFormatter());
public class InkeyJsonMediaTypeFormatter : BaseJsonMediaTypeFormatter
{public InkeyJsonMediaTypeFormatter()
{
SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/plain"));
MediaTypeMappings.Add(new InkeyJsonHttpRequestHeaderMapping());
}
public override Newtonsoft.Json.JsonReader CreateJsonReader(Type type, System.IO.Stream readStream, System.Text.Encoding effectiveEncoding)
{
return new Newtonsoft.Json.JsonTextReader(new System.IO.StreamReader(readStream, effectiveEncoding));
}
public override Newtonsoft.Json.JsonWriter CreateJsonWriter(Type type, System.IO.Stream writeStream, System.Text.Encoding effectiveEncoding)
{
return new Newtonsoft.Json.JsonTextWriter(new System.IO.StreamWriter(writeStream, effectiveEncoding));
}
}
public class InkeyJsonHttpRequestHeaderMapping : RequestHeaderMapping
{
public InkeyJsonHttpRequestHeaderMapping() :
base(@"x-requested-with", @"XMLHttpRequest", StringComparison.OrdinalIgnoreCase, isValueSubstring: true, mediaType: "text/plain")
{
}
public override double TryMatchMediaType(HttpRequestMessage request)
{
if (request.Headers.Accept.Count == 0
|| (request.Headers.Accept.Count == 1 && request.Headers.Accept.First().MediaType.Equals("*/*", StringComparison.Ordinal)))
{
return base.TryMatchMediaType(request);
}
else
{
return 0.0;
}
}
最后
以上就是义气帽子为你收集整理的ASP.NET WebApi MediaTypeFormatter参数绑定的研究,支持POST文本方式的JSON字符串绑定的全部内容,希望文章能够帮你解决ASP.NET WebApi MediaTypeFormatter参数绑定的研究,支持POST文本方式的JSON字符串绑定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复