係統粉 > IT資訊 > 業界資訊

分步ASP.NET核心RESTful Web服務開發

發布時間:2018-09-15    瀏覽數:

在這篇文章中,我們將介紹ASP.NET Core,以及如何使用此框架創建RESTful Web服務並部署該服務。

在本文中,我將逐步解釋如何在ASP.NET Core中開發RESTful Web服務應用程序。ASP.NET Core是微軟發布的最新技術,遠遠優於它的前輩,分別是WCF和Web API。

該項目的先決條件:

下載最新版本的Microsoft Visual Studio。他們有免費的執照版本。要測試此應用程序,請從此處下載SOAPUI工具,因為我們將使用SOAPUI工具來測試所有服務。

讓我們一步一步地開始我們的項目:

步驟1:首先,在Visual Studio中創建一個ASP.NET Core Web Application項目,並將其命名為StudentRegistrationDemo3。為此,選擇File-> New-> Project-> ASP.NET Core Web Application(參見下麵的窗口),然後單擊OK。

分步ASP.NET核心RESTful Web服務開發(1)

單擊“確定”按鈕後,您將看到以下窗口,您需要在其中選擇“Web應用程序”,然後取消選中“為HTTPS配置”複選框(否則,它將創建基於SSL的項目,您必須在測試期間在所有URL中使用HTTPS的HTTP實例,然後單擊“確定”按鈕。

分步ASP.NET核心RESTful Web服務開發(2)

單擊“確定”按鈕後,將創建以下項目結構:

分步ASP.NET核心RESTful Web服務開發(3)

第2步:現在您需要在項目中添加兩個文件夾:一個用於模型,另一個用於控製器。Models文件夾用於資源類,Controllers文件夾用於Controller類; 這是該項目所必需的。隻需右鍵單擊您的項目,添加=>新建文件夾並相應地重命名。

分步ASP.NET核心RESTful Web服務開發(4)

最後,您的項目結構應如下所示:

分步ASP.NET核心RESTful Web服務開發(5)

第3步:現在,我們將創建以下資源類來處理我們的GET,POST,PUT和DELETE服務。右鍵單擊項目資源管理器窗口中的Models文件夾,然後選擇Add => Class(見下文):

分步ASP.NET核心RESTful Web服務開發(6)

第4步:現在是時候引入控製器類來處理我們的GET,POST,PUT和DELETE Web請求了。我們將在此示例中為GET,POST,PUT和DELETE請求創建單獨的控製器,即使它沒有必要,但我使用單獨的控製器以獲得更清晰。即使一個控製器也足以滿足上述所有服務,但是,根據良好的設計原則,我們應該有一個單獨的控製器,以便於維護和調試應用程序。

讓我們先從GET和POST請求開始。單擊Controllers文件夾並選擇Add => New Item,然後選擇'API Controller Class'並創建一個名為的控製器類 StudentRetriveController,如下所示,用於處理GET請求。

分步ASP.NET核心RESTful Web服務開發(7)

步驟5:在Visual Studio菜單欄中,您可以看到綠色箭頭按鈕。在這裏,您可以選擇係統中安裝的瀏覽器並單擊它。它將啟動您的Web服務器並運行您的Web服務應用程序。

分步ASP.NET核心RESTful Web服務開發(8)

現在等待,直到您的瀏覽器窗口正確加載,如下所示:

分步ASP.NET核心RESTful Web服務開發(9)

現在服務器正在運行,我們將首先進行GET服務調用。

步驟6.我希望您已經將SOAPUI安裝到您的係統中; 如果沒有,請從此處下載SOAPUI 。現在打開應用程序,從File菜單中選擇'New REST Project'(File => New REST Project)並複製並粘貼以下URL並單擊OK按鈕。請更改端口號63662,因為它可能與您的情況有所不同。

HTTP://localhost:63662 / API / studentretrive

(注意我們使用的URL有控製器名稱,studentretrive(StudentRetriveController),作為資源定位器)

分步ASP.NET核心RESTful Web服務開發(10)

創建項目後,隻需單擊綠色箭頭按鈕,您就可以看到如下所示的空記錄文件夾:

分步ASP.NET核心RESTful Web服務開發(11)

原因很明顯,因為我們的學生名單是空的。所以我們必須在這裏插入一些記錄。要添加記錄,我們將使用我們的POST服務。我們現在測試我們的POST服務。

步驟7.隻需按照步驟6創建一個新的REST項目並添加以下URL。

HTTP://localhost:63662 / API / studentregistration

但是,在這裏,我們需要做一些額外的配置。首先,從方法列表中選擇POST,然後在“介質類型”中添加記錄以將其插入到應用程序中。現在,單擊綠色箭頭按鈕,您可以看到下麵的窗口。

現在,看看 StudentRegistrationController 課程。在這裏,我介紹了四種不同類型的POST服務。引入四種不同類型的POST方法的原因是為您提供使用泛型類型作為返回類型的示例。在第一個POST服務的方法,

RegisterStudent,返回類型是用戶定義類型, StudentRegistrationReply。假設在插入過程中我們得到一個例外; 我們如何通知調用者異常類型?因為返回類型是 StudentRegistrationReply, 我們必須返回一個類型的對象 StudentRegistrationReply 。因此,我們需要一個普遍的返回類型,以便我們可以返回任何對象類型。但是,我們有解決方案來處理這種情況。現在看看其他方法; 返回類型是通用的,我們使用JSON,因此我們可以調整任何類型的對象。

現在使用URL http:// localhost:63662 / api / studentregistration / InsertStudent來調用POST方法 InsertStudent (InsertStudent 不是case sansitive)。請注意這裏說的返回類型是 IActionResult,一個泛型類型。但是返回類型實現邏輯與第一種方法完全相同,它隻是用於添加記錄。另請注意 [HttpPost("InsertStudent")],這有助於我們設計資源路徑。現在,您必須InsertStudent 在資源路徑的末尾添加該 方法。通過這種方式,我們可以設計一個不同的資源路徑來在控製器中執行不同的方法。

分步ASP.NET核心RESTful Web服務開發(12)

現在我們要測試我們的第三種方法

AddStudent。所有這三種方法都在進行相同的操作,即隻是將記錄添加到學生列表中。但它們具有不同的返回類型和不同的資源路徑。我的意圖在這裏很清楚。首先,我們可以從方法返回對象的不同方法是什麼?第二,我們如何設計不同的資源路徑(路線)來調用特定的Web方法?

現在使用URL http:// localhost:63662 / api / studentregistration / student來調用 AddStudent 返回類型為的方法 JsonResult。如果我們返回XML消息,我們不能將它用作返回類型,在這種情況下,我們必須使用它 IActionResult 作為泛型返回類型。

分步ASP.NET核心RESTful Web服務開發(13)

現在重複GET測試並查看結果:

分步ASP.NET核心RESTful Web服務開發(14)

在上麵的截圖中,我們插入了錯誤的agem,我們將通過PUT請求測試來糾正它。

到現在為止還挺好。現在我們將通過引入PUT和DELETE服務來完成本項目的最後一部分。

上一篇:量子時代,加密算法如何應對威脅? 下一篇:女版馬雲,1年10億,逆襲亞洲第一

相關資訊

最新熱門應用

電腦問答