選擇或取消ASP.NET WebAPI的JSON、XML輸出格式
ASP.NET WebAPI支援XML、JSON兩種輸出格式,在這個JSON氾濫的年代XML顯然已經不討喜,這篇廢文就是教你怎麼關掉XML的回應。
ASP.NET WebAPI選擇輸出格式的方法
- 使用XML輸出
在HTTP Request中送出下列指令,就可以得到XML回應資料。
Accept: "application/xml"
- 使用JSON輸出
在HTTP Request中送出下列指令,就可以得到JSON回應資料。
Accept: "application/json"
取消ASP.NET WebAPI某種輸出格式的方法
基本上都是關掉XML啦,下面我還是都把兩個範例寫出來。基本上如果你兩個格式都關閉的話,ASP.NET WebAPI會採用「檔案輸出」的方式餵資料給你,也是蠻妙的。
void Application_Start(object sender, EventArgs e)
{
//關閉XML回應格式
System.Web.Http.GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
//關閉JSON回應格式(你不是真的想這樣做吧?)
//System.Web.Http.GlobalConfiguration.Configuration.Formatters.JsonFormatter.SupportedMediaTypes.Clear();
}
最後要注意的事情是,如果你採用上面的程式碼,把系統的格式鎖定到剩下JSON格式,那麼無論你給什麼HTTP Accept Header
,甚至沒有給Accept
,所有的輸出一律都剩下JSON格式喔,這意味著JSON格式就是WebAPI輸出的預設值。