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