Visual Studio 2013數據庫
SQL Server 2008 R2json
啓動Visual Studio 2013,新建一個ASP.NET Web應用程序,命名爲SimpleAPI。選擇Empty模板,並勾選「Web API」,無身份驗證,不添加單元測試。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的類文件。ide
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>(); } }
說明:工具
一、name=DefaultConnection要和Web.config中的數據庫鏈接字符串中的name一致。post
二、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格式的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統一格式。而後咱們再次運行,發現結果就是咱們想要的了。
在第二部分咱們將繼續完成用ASP.NET Web API技術對數據進行添加、修改和刪除的操做,接着咱們會使用一款很好用的接口測試工具Rest Client在瀏覽器上對剛剛開發好的API接口進行實際運行。