如何讓ASP.NET Web API 無論任何要求都回應JSON 格式 | web api回傳json
ASP.NETWebAPI[1]是新一代的HTTP網路服務開發框架,除了可以透過VisualStudio2012快速開發外(內建於ASP.NETMVC4的WebAPI專案範本內),也非常適合用於各種跨平台的行動裝置上,如果你想開發RESTful[2]應用程式,那麼使用ASP.NETWebAPI應該是挺理想的解決方案。不過ASP.NETWebAPI內建支援JSON與XML兩種輸出格式,並依據瀏覽器端送出的Accept標頭自動決定回應的內容格式,不過也因為這點讓有些WebAPI新手上路的開發人員來說似乎頗為困擾,本文將介紹如何讓ASP.NETWebAPI強迫回應JSON結果,以方便直接用任何瀏覽器都...
ASP.NET Web API[1] 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範本內),也非常適合用於各種跨平台的行動裝置上,如果你想開發 RESTful[2] 應用程式,那麼使用 ASP.NET Web API 應該是挺理想的解決方案。不過 ASP.NET Web API 內建支援 JSON 與 XML 兩種輸出格式,並依據瀏覽器端送出的 Accept 標頭自動決定回應的內容格式,不過也因為這點讓有些 Web API 新手上路的開發人員來說似乎頗為困擾,本文將介紹如何讓 ASP.NET Web API 強迫回應 JSON 結果,以方便直接用任何瀏覽器都能看見 JSON 的執行結果。
使用瀏覽器測試 ASP.NET Web API 的結果
我們先新增一個 ASP.NET MVC 4 專案:
接著選擇 Web API 範本:
以下是建立好 Web API 專案的預設控制器畫面,在預設的 Get() 方法也包含了一些預設資料:
這時可以直接啟動專案:
第一次啟動後必須先將網址路徑改為 /api/values 才能看到預設的 ValuesController 執行結果,如果我們用 IE9 開啟該網址,你將看不到內容,而是直接提示下載:
打開下載後的檔案內容是 JSON 格式:
不過,由於使用 IE 每次想看 Web API 的結果都要下載檔案並用其他文字編輯器開啟內容非常麻煩。
如果我們改用 Google Chrome 連結完全相同的網址,看到的結果卻是一份 XML 格式的結果,並不是 JSON 格式,如下圖示:
ASP.NET Web API 如何自動判別用戶端的 HTTP 要求資訊並回傳相應的...