ASP.NET Web API 2 是 Web API 的重大升級版,對應 MVC 5(Web API 對應 MVC 4),引入了屬性路由、OWIN 整合等關鍵特性,是現代 .NET 開發的標準選擇。
| 特性 | Web API (v1) | Web API 2 |
|---|---|---|
| 對應 MVC 版本 | MVC 4 | MVC 5 |
| 路由方式 | 僅支援傳統路由表 | 新增 屬性路由 [Route("api/users/{id}")] |
| OWIN 支援 | 不支援 | 原生支援,可與 SignalR、Identity 等中介軟體共用 Pipeline |
| IHttpActionResult | 無 | 新增,簡化 Controller 返回邏輯 |
| CORS 跨域 | 需手動實現 | 內建 [EnableCors] 屬性支援 |
| 測試託管 | 較複雜 | 支援 HttpServer 記憶體內託管測試 |
Install-Package Microsoft.AspNet.WebApi(會自動引入 Web API 2 相關套件)。舊專案若仍使用 Web API v1,強烈建議升級至 Web API 2:
config.MapHttpAttributeRoutes();ApiController 返回類型改為 IHttpActionResult,利用 Ok()、NotFound() 等輔助方法。Microsoft.AspNet.WebApi.Cors,在 WebApiConfig 中 config.EnableCors()。Web API 2 已成為 .NET Framework 時代的 RESTful API 標準,新專案無理由選擇 v1。