天天看點

ASP.NET 5系列教程 (六): 在 MVC6 中建立 Web API

ASP.NET 5.0 的主要目标之一是統一MVC 和 Web API 架構應用。

接下來幾篇文章中您會了解以下内容:

ASP.NET MVC 6 中建立簡單的web API。

如何從空的項目模闆中啟動,及添加控件到應用中。

如何配置 ASP.NET 5.0 管道。

在 IIS 外對立部署應用。

本文的目的是從空的項目開始,逐漸講解如何建立應用。當然,您也可以從“Starter Web” 模闆開始,它預設包含了MVC 6、權限、記錄等其他子產品,同時也内置了有效的控制器和視圖在其中。

打開 Visual Studio 2015。點選 File 菜單,選擇 New > Project。

在 New Project 對話框中,點選 Templates > Visual C# > Web,選擇 ASP.NET Web Application 項目模闆。命名為 "TodoApi",點選 OK。

在 New ASP.NET Project 對話框中,選擇 "ASP.NET 5.0 Empty" 模闆。

下面的效果圖展示了工程結構:

工程包含以下檔案:

global.json 包含了解決方案級别的設定,允許工程到工程之間的引用。

project.json 包含了工程級别的設定。

Project_Readme.html  為 readme 檔案。

Startup.cs 包含啟動和配置代碼。

Startup.cs 檔案中的<code>Startup</code> 類,配置了 ASP.NET 需求管道。當你使用空的項目模闆,<code>Startup</code> 類不會有任何實質性的代碼加入到管道中:

現在,你可以運作應用了,但目前的應用沒有任何功能。接下來我們會模拟"Starter Web" 項目模闆來添加功能,例如 MVC 6、Entity Framework、身份驗證、記錄等功能。

打開 project.json 檔案。該檔案包含了工程設定内容。<code>dependencies</code> 部分用于标注需要的NuGet 包和類庫。添加 Microsoft.AspNet.Diagnostics 包到清單中:

輸入時, Visual Studio 會提供智能提示:

接下來,打開 Startup.cs 檔案,添加以下代碼:

歡迎界面是檢驗運作效果的快速入口,無需編寫代碼。

在本章節中,您将建立一個 ToDo 事項管理清單功能API。首先,我們需要添加 ASP.NET MVC 6 到應用中。

添加 MVC 6 到 project.json 檔案的依賴清單中:

接下來,添加 MVC 需求管道到 Startup.cs 檔案中,

使用 using 聲明<code>Microsoft.Framework.DependencyInjection。</code>

添加以下方法到 <code>Startup</code> 類中。

下面這段代碼添加了 MVC 6 需要的所有依賴項,會自動在啟動時調用<code>ConfigureServices</code> 。

在配置方法中添加以下代碼,<code>UseMvc</code> 方法用于添加 MVC 6 到管道。

以下是完整的 <code>Startup</code> 類代碼:

model 代表應用的資料域。在本示例中,model 中存儲 ToDo 項。 添加以下類到項目中:

為了保持項目的整潔,我建立了 Models 檔案夾用于存放 Model 類,當然這不是必要的操作。

添加 controller 類用于處理 HTTP 請求。添加以下類到項目中:

同樣,我建立了 Controllers 檔案夾用于存儲 controller。

在後續的章節中我們将進一步闡述關于 Controller 的代碼。以下是 controller 實作的一些基礎功能:

ASP.NET 5系列教程 (六): 在 MVC6 中建立 Web API

例如,下面是擷取 ToDo 項目的 HTTP 請求的:

下面是 response 流:

後續章節中我們将闡述以下内容:

<a href="http://www.cnblogs.com/powertoolsteam/p/4122734.html">ASP.NET 5系列教程 (一):領讀新特性</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/ASP_NET5_HelloWorld.html">ASP.NET 5系列教程 (二):Hello World</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/4212740.html">ASP.NET 5系列教程 (三):view components介紹</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/ASP_Net5_4.html">ASP.NET 5系列教程 (四):向視圖中添加服務和釋出應用到公有雲</a>

<a href="http://www.cnblogs.com/powertoolsteam/p/grunt-and-bower-in-visual-studio-2015.html">ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower開發Web程式</a>

繼續閱讀