2013年6月11日 星期二

[C#] WebApi 補充 : 設定媒體類型

MVC4第一支Web Api 這篇文章有提到在 Global.asax 加入以下程式碼,
(或是加到「App_Start」→「WebApiConfig.cs」的Register函式)
可以由送出Http GET請求Url的參數決定預設回傳訊息的媒體類型:

//設定一個URL的新參數
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json"));
//設定一個URL的新參數
GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(new QueryStringMapping("xml", "true", "text/xml"));

Example,
http://localhost:33855/api/Book?xml=true


另外也可以在「App_Start」→「WebApiConfig.cs」的Register函式 加入以下程式碼,手動移除JSONXML格式化程式,限制Web Api只回應特定的媒體類型。

//移除回傳Json格式
config.Formatters.Remove(config.Formatters.JsonFormatter);
//移除回傳XML格式

config.Formatters.Remove(config.Formatters.XmlFormatter);

沒有留言:

張貼留言