Wes*_*een 13 asp.net-web-api mediatypeformatter
是否可以默认从ASP.NET Web API而不是XML返回json?
tug*_*erk 18
它是默认完成的.JsonMediaTypeFormatter
注册为第一个MediaTypeFormatter
,如果客户端不以特定格式请求响应,ASP.NET Web API管道将以application/json
格式为您提供响应.
如果你想要的只是支持application/json
,删除所有其他格式化程序,只留下JsonMediaTypeFormatter
:
public static void Configure(HttpConfiguration config) {
var jqueryFormatter = config.Formatters.FirstOrDefault(x => x.GetType() == typeof(JQueryMvcFormUrlEncodedFormatter));
config.Formatters.Remove(config.Formatters.XmlFormatter);
config.Formatters.Remove(config.Formatters.FormUrlEncodedFormatter);
config.Formatters.Remove(jqueryFormatter);
}
Run Code Online (Sandbox Code Playgroud)
@tugberk的解决方案并没有真正实现更改默认格式化程序的目标.它只是使JSON成为唯一的选择.如果要使JSON成为默认值并仍支持所有其他类型,则可以执行以下操作:
public static void Configure(HttpConfiguration config) {
// move the JSON formatter to the front of the line
var jsonFormatter = config.Formatters.JsonFormatter;
config.Formatters.Remove(jsonFormatter);
config.Formatters.Insert(0, jsonFormatter);
}
Run Code Online (Sandbox Code Playgroud)
注意:JSON是Web API 2.0的默认格式化程序.
归档时间: |
|
查看次数: |
10305 次 |
最近记录: |