是否有可能從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。 –