1. 程式人生 > >asp.net WebApi 使用總結

asp.net WebApi 使用總結

請求 result supported 靈活 ssa port 方法 blank web

如果想讓服務端直接返回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 使用總結