在這篇文章中,我們將介紹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。

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

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

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

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

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

第4步:現在是時候引入控製器類來處理我們的GET,POST,PUT和DELETE Web請求了。我們將在此示例中為GET,POST,PUT和DELETE請求創建單獨的控製器,即使它沒有必要,但我使用單獨的控製器以獲得更清晰。即使一個控製器也足以滿足上述所有服務,但是,根據良好的設計原則,我們應該有一個單獨的控製器,以便於維護和調試應用程序。
讓我們先從GET和POST請求開始。單擊Controllers文件夾並選擇Add => New Item,然後選擇'API Controller Class'並創建一個名為的控製器類 StudentRetriveController,如下所示,用於處理GET請求。

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

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

現在服務器正在運行,我們將首先進行GET服務調用。
步驟6.我希望您已經將SOAPUI安裝到您的係統中; 如果沒有,請從此處下載SOAPUI 。現在打開應用程序,從File菜單中選擇'New REST Project'(File => New REST Project)並複製並粘貼以下URL並單擊OK按鈕。請更改端口號63662,因為它可能與您的情況有所不同。
HTTP://localhost:63662 / API / studentretrive
(注意我們使用的URL有控製器名稱,studentretrive(StudentRetriveController),作為資源定位器)

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

原因很明顯,因為我們的學生名單是空的。所以我們必須在這裏插入一些記錄。要添加記錄,我們將使用我們的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 在資源路徑的末尾添加該 方法。通過這種方式,我們可以設計一個不同的資源路徑來在控製器中執行不同的方法。

現在我們要測試我們的第三種方法
AddStudent。所有這三種方法都在進行相同的操作,即隻是將記錄添加到學生列表中。但它們具有不同的返回類型和不同的資源路徑。我的意圖在這裏很清楚。首先,我們可以從方法返回對象的不同方法是什麼?第二,我們如何設計不同的資源路徑(路線)來調用特定的Web方法?
現在使用URL http:// localhost:63662 / api / studentregistration / student來調用 AddStudent 返回類型為的方法 JsonResult。如果我們返回XML消息,我們不能將它用作返回類型,在這種情況下,我們必須使用它 IActionResult 作為泛型返回類型。

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

在上麵的截圖中,我們插入了錯誤的agem,我們將通過PUT請求測試來糾正它。
到現在為止還挺好。現在我們將通過引入PUT和DELETE服務來完成本項目的最後一部分。
相關資訊
最新熱門應用
芝麻app交易所
其它軟件223.89MB
下載
dash交易所手機版
其它軟件27.87M
下載
v8國際交易平台
其它軟件223.89MB
下載
比特網交易平台
其它軟件292.97MB
下載
zt交易所ios
其它軟件219.97MB
下載
虎符交易所app最新地址
其它軟件276 MB
下載
bybit交易所中文版
其它軟件287.27 MB
下載
中幣交易官網手機版安卓
其它軟件288.1 MB
下載
幣團交易所app
其它軟件43MB
下載
歐幣網交易所官網安卓
其它軟件397.1MB
下載