開發工具
Visual Studio 2013
SQL Server 2008 R2
準備工作
啟動Visual Studio 2013,建立一個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統一格式。然後我們再次運作,發現結果就是我們想要的了。
在第二部分我們将繼續完成用ASP.NET Web API技術對資料進行添加、修改和删除的操作,接着我們會使用一款很好用的接口測試工具Rest Client在浏覽器上對剛剛開發好的API接口進行實際運作。