asp.net WebApi 使用總結

來源:互聯網
上載者:User

標籤:return   bapi   gpo   json   work   json格式   dia   span   str   

如果想讓服務端直接返回json或者xml的話,可以考慮使用webservice、wcf,或者webapi。webservice基於xml,效率較慢,wcf雖然可以返回json,但是配置繁瑣。webapi相較於前兩者而言配置簡單靈活,效率也不錯。是asp.net平台上製作api介面的首選。

建立.net framework web應用程式,模板選擇webapi,預設範本已經替你完成了大部分的配置,直接運行程式並瀏覽器訪問預設控制器ValuesController,既/api/values即可看到效果。webapi的訪問路由設定檔位於app_start檔案夾下,配置方法與mvc路由差別不大。

如果想要將預設返回的xml格式不滿意,想改成json格式的話,可以在global檔案的Application_Start方法裡添加:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

這樣返回的資料就會被格式化為json而不是xml了。

但是這時使用的序列化方法是系統內建的,如果想要自訂,可以在控制器裡直接返回HttpResponseMessage類,不過HttpResponseMessage需要自己構建。

        [AcceptVerbs("get", "post")]    //配置接受的請求類型。        public HttpResponseMessage Demo()        {            string jsonStr = JsonConvert.SerializeObject(new  {Id = 10, Name ="ka"});            HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(jsonStr,Encoding.GetEncoding("UTF-8"), "application/json")};            return result;        }

訪問Demo方法即可看到結果。

 參考博文:https://www.cnblogs.com/elvinle/p/6252065.html

asp.net WebApi 使用總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.