是否有可能从ASP.NET Web API而不是XML返回默认的json?默认情况下使用ASP.NET Web API返回json
13
A
回答
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);
}
+0
这对我很有用。谢谢 –
8
@ 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);
}
注:JSON是默认格式为Web API 2.0。
+0
适合我。好多了。 – Phil
相关问题
- 1. 默认情况下返回system.time
- 2. MVC3默认情况下返回视图
- 3. 使用ASP.NET Web API返回JSON文件
- 4. 默认情况下,在asp.net MVC2
- 5. 默认情况下,使qmake使用qt5
- 6. 使用web api返回JSON
- 7. 默认情况下用xsl:when测试时返回所有元素?
- 8. Switch语句。使用默认情况下
- 9. 默认情况下,JMS使用HTTP?
- 10. 的Javascript退格在默认情况下问题....默认情况下会返回页面
- 11. ASP.Net Web API服务使用情况
- 12. 产量和默认情况||不输出默认情况下
- 13. 安卓:默认情况下
- 14. 默认情况下,法国
- 15. 默认情况下,Constexpr lambda?
- 16. 默认情况下在VBox
- 17. 在默认情况下
- 18. FactoryGirl在默认情况下
- 19. 默认情况下使用的Google Maps API版本是什么?
- 20. 默认情况下,NodeJS的Datastore API是否使用`distinct on`?
- 21. 默认情况下函数返回值常量(右值)?
- 22. 默认情况下php函数返回什么?
- 23. django.utils.timezone.now在默认情况下返回UTC TimeField
- 24. 默认情况下返回背景颜色 - javascript bootstrap
- 25. 如何在visual studio web api中默认返回json
- 26. ASP.NET Web API返回ArrayList为JSON
- 27. ASP.NET web api返回XML而不是JSON
- 28. 默认情况下禁用Telerik图例
- 29. 警告:默认情况下启用]
- 30. 默认情况下修改默认命令:默认命令为
这种打破了保持web api不可知的模式。如果您在ajax请求的标头中发送“Accept:application/json”,则WebAPI将在Json中响应。我可以看到你的ajax请求吗? – gideon
谢谢队友。这就是我需要的。我刚刚使用web api和api url路径看到了一个来自pluralsight的视频教程,并且它在浏览器中直接响应了json。所以没有Ajax请求。它只是网站/api/control –
你甚至不需要Accept头。如果您在GET请求中没有Accept标头,则应该从WebAPI返回JSON。 –