WEBAPI返回的數據格式一般是XML和JSON.能根據請求的要求返回.經過試驗如下:
public object Get(string uid)
{
return new {msg="成功"};
}
// 調用.使用了jquery的AJAX方法,最后一個參數是返回結果的類型.不同參數時,后台返回的數據類型不同,看來服務端能根據前端請求的數據類型自動生成相應類型返回
$.get('get',function(data){
},'json')
// 結果
{"msg":"成功"} // 返回數據類型參數寫json時
<object><msg>成功</msg></object> // 寫xml時
關鍵點:
這個類和方法中,可以修改WEBAPI的很多屬性.
public static class WebApiConfig
// 就是注冊WEBAPI路由的這個方法里,也可以修改其它東西.
public static void Register(HttpConfiguration config)
{
config.Formatters // 這個屬性里包含了返回值格式的信息,經過實驗,打出來的數據如下:
// System.Net.Http.Formatting.JsonMediaTypeFormatter // 這個是JSON格式,排在第一位,應該是默認
// System.Net.Http.Formatting.XmlMediaTypeFormatter // XML格式
// System.Net.Http.Formatting.FormUrlEncodedMediaTypeFormatter // 未研究
// System.Web.Http.ModelBinding.JQueryMvcFormUrlEncodedFormatter // 未研究
}
可以修改這個東西,通過傳一個地址參數,讓它默認返回JSON?以下代碼從網上找的,大概如下.
// 意思是,給jsonformatter這個格式類型增加一個"映射",在URL參數上傳入 datatype=json,那么就會返回application/json類型.
// 經過測試,可以.但還是覺得默認的就好,在前端指定返回類型就行了
config.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("datatype", "json", "application/json"));