本週我寫了兩個ASP.NET Web API應用程序,它們都包含一個簡單的控制器;我已經調整了各自的工作方式,包括例外情況等,但它們的配置幾乎與我所看到的相同。如何指定我是否想在ASP.NET Web API中使用JSON或XML?
其中一個返回JSON,另一個返回XML。我希望他們都返回JSON!
我找了一些可能控制這種行爲的配置,但我沒有快樂。控制ASP.NET Web API使用的序列化類型的設置在哪裏?
本週我寫了兩個ASP.NET Web API應用程序,它們都包含一個簡單的控制器;我已經調整了各自的工作方式,包括例外情況等,但它們的配置幾乎與我所看到的相同。如何指定我是否想在ASP.NET Web API中使用JSON或XML?
其中一個返回JSON,另一個返回XML。我希望他們都返回JSON!
我找了一些可能控制這種行爲的配置,但我沒有快樂。控制ASP.NET Web API使用的序列化類型的設置在哪裏?
它是由什麼叫客戶端(例如瀏覽器或您的.NET客戶端)通過在接受頭文件中定義:
接受:應用/ JSON,應用/ XML,文本/ JSON,文本/ XML
將有JSON的偏好(如果可能)
所以,你的客戶端返回XML需要設置Accept
頭是高於或乾脆
接受:應用/ JSON
應該做的伎倆
要限制輸出到只有一個格式,試試這裏的說明:
相關提示,以下鏈接介紹了ASP.NET Web API如何根據發送給它的HTTP請求決定使用何種輸出格式,即它如何選擇JSON over XML:
http://www.asp.net/web-api/overview/formats-and-model-binding/content-negotiation
,如果你想仍然支持這兩種格式,但需要確保自己的客戶端代碼總是收到回JSON這可能是有用的。