用ASP.NET Web API技术开发HTTP接口(一)
《轉載自 "浮點指向"》
啟動Visual Studio 2015,新建一個ASP.NET Web應用程序,命名為SimpleAPI。選擇Empty模板,并勾選“Web API”,無身份驗證,不添加單元測試。
準備用SQL Server數據庫來存儲數據,因此要安裝下Entity Framework框架,免去寫繁瑣SQL語句的麻煩。打開工具-》程序包管理器控制臺輸入以下命令安裝。
Install-Package EntityFramework在Web.config文件里配置數據庫連接代碼,打開這個文件,在configuration節點內添加連接字符串,其中星號部分換成SQLServer的數據庫名稱。
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=Localhost;Initial Catalog=******;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /> </connectionStrings>建立數據模型
在Models目錄下新建一個名為Friend.cs的類文件。
public class Friend {public int ID { get; set; }public string FirstName { get; set; }public string LastName { get; set; }public string Address { get; set; }public string City { get; set; }public string PostalCode { get; set; }public string Country { get; set; }public string Notes { get; set; } }同時建立數據庫的Context類文件。
public class FriendContext : DbContext {public FriendContext(): base("name=DefaultConnection"){}public DbSet<Friend> Friends { get; set; }protected override void OnModelCreating(DbModelBuilder modelBuilder){modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();} }說明:
1、name=DefaultConnection要和Web.config中的數據庫連接字符串中的name一致。
2、OnModelCreating重載函數的作用是讓創建的數據表名稱為單數格式,即為Friend,而不是Friends。
然后在程序包管理控制臺啟用Migrations,生成Migrations目錄,以及目錄中的Configuration.cs配置文件。
Enable-Migrations再依次執行下面2條命令,就可以把剛才建立的數據模型導入到SQLServer中了,很方便。
Add-Migration xxx Update-Database其中xxx可任意填寫,VS會生成一個名為201508051223177_xxx.cs文件,201508051223177是當前時間,文件包含Up和Down兩個方法。現在我們再到SQLServer中刷新下查看,會發現一個名為Friend的數據表就建立好了。
下面利用Configuration.cs中的Seed函數添加一些測試數據,在Seed方法下添加以下模擬數據。
var friend = new Friend {FirstName = "三",LastName = "張",Address = "南京西路",City = "上海",Country = "中國",PostalCode = "200041",Notes = "www.zhaomu.com" }; context.Friends.Add(friend); friend = new Friend {FirstName = "四",LastName = "李",Address = "三里屯",City = "北京",Country = "中國",PostalCode = "100600",Notes = "www.sohu.com" }; context.Friends.Add(friend); friend = new Friend {FirstName = "五",LastName = "王",Address = "花城大道",City = "廣州",Country = "中國",PostalCode = "510623",Notes = "www.163.com" }; context.Friends.Add(friend);然后執行Update-Database命令后,這些數據就成功導入到SQL Server的數據表里面了。
創建控制器
在Controllers目錄下添加控制器,選擇“Web API 2 控制器 - 空”,我們將手工編寫API程序的讀取、添加、修改、刪除各常用接口。控制器文件命名為FriendController.cs。
讀取Get方法,在FriendController.cs中添加以下代碼。
private FriendContext db = new FriendContext();public IEnumerable<Friend> Get() {return db.Friends.AsEnumerable(); }編譯后,我們訪問?http://localhost:61570/api/friend(61570是隨機端口),如果一切正常的話會出現以下XML格式的數據,說明數據讀取成功。
轉換成json格式顯示
現在比較流行json格式的API接口數據,如果我們要讓數據以json格式顯示,需要修改App_Start目錄下的WebApiConfig.cs文件,在//Web API 配置和服務的注釋下添加以下代碼:
config.Formatters.Remove(config.Formatters.XmlFormatter); var jsonFormatter = config.Formatters.JsonFormatter; jsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();說明:第一行是去掉默認的XML格式,這樣輸出數據就會以json格式顯示,第三行是將輸出結果縮進顯示,第四行則是將字段名稱改成camelCase格式,即postalCode這樣的json統一格式。然后我們再次運行,發現結果就是我們想要的了。
轉載于:https://www.cnblogs.com/DaiKeung/p/9120362.html
總結
以上是生活随笔為你收集整理的用ASP.NET Web API技术开发HTTP接口(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改Centos7的网卡ens32 改为
- 下一篇: LOJ.2587.[APIO2018]铁