web api 返回數據XML JSON


  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"));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM