abp(net core)+easyui+efcore實作倉儲管理系統目錄
abp(net core)+easyui+efcore實作倉儲管理系統——ABP總體介紹(一)abp(net core)+easyui+efcore實作倉儲管理系統——解決方案介紹(二)abp(net core)+easyui+efcore實作倉儲管理系統——領域層創建物體(三) abp(net core)+easyui+efcore實作倉儲管理系統——定義倉儲并實作 (四)abp(net core)+easyui+efcore實作倉儲管理系統——創建應用服務(五)
abp(net core)+easyui+efcore實作倉儲管理系統——展現層實作增刪改查之控制器(六)abp(net core)+easyui+efcore實作倉儲管理系統——展現層實作增刪改查之串列視圖(七)abp(net core)+easyui+efcore實作倉儲管理系統——展現層實作增刪改查之增刪改視圖(八)abp(net core)+easyui+efcore實作倉儲管理系統——展現層實作增刪改查之選單與測驗(九)abp(net core)+easyui+efcore實作倉儲管理系統——多語言(十)abp(net core)+easyui+efcore實作倉儲管理系統——使用 WEBAPI實作CURD (十一)abp(net core)+easyui+efcore實作倉儲管理系統——選單-上 (十六)abp(net core)+easyui+efcore實作倉儲管理系統——EasyUI前端頁面框架 (十八)
abp(net core)+easyui+efcore實作倉儲管理系統——EasyUI之貨物管理一 (十九) abp(net core)+easyui+efcore實作倉儲管理系統——EasyUI之貨物管理六(二十四) abp(net core)+easyui+efcore實作倉儲管理系統——EasyUI之貨物管理七(二十五) abp(net core)+easyui+efcore實作倉儲管理系統——EasyUI之貨物管理八(二十六) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之一(二十七) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之二(二十八) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之三(二十九) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之四(三十) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之五(三十一) abp(net core)+easyui+efcore實作倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之六(三十二)在上面幾篇文章的學習之后,組織管理的新增功能的前端與后臺功能基本實作了我們所要,今天開始我們要通過WebAPI來替換控制器中的操作方法,在學習WebAPI之前,我先來介紹一下Swagger這個組件,
十三、Swagger管理WEBAPI
Swagger兼具了API檔案管理和測驗的功能,而且保證了代碼和檔案的一致性,它提供了無需任何實作邏輯的RESTfulAPI的UI表示,它允許用戶在沒有任何代碼訪問的情況下了解服務的功能,并減少創建服務檔案的時間,
Swagger使用swagger工具基于我們撰寫的服務代碼生成的swagger.json檔案來生成檔案管理界面,此檔案描述服務的功能,即服務支持多少方法,并提供有關方法引數的資訊,使用這個檔案,SwaggerUI生成客戶機代碼,下面我們通過呼叫新增組織資訊的WEBAPI介面不成功為示例來學習一下ABP中的Swagger使用,
1.在“添加組織資訊”界面中輸入相應的組織資訊之后,點擊“保存”按鈕 ,在彈出的確認對話框中點擊“確定”按鈕,在彈出的“保存成功”確認對話框中點擊“確定”按鈕,

2.如果保存界面一直是正在保存界面,見下圖,首先我們去啟動“ABP.TPLMS.Web.Host”專案,通過Swagger來看看我們的WebAPI是否可用,

3.我們把“ABP.TPLMS.WEB.Host”專案設為啟動專案,然后在Visual Studio 2017中按F5啟動swagger應用程式,生成并瀏覽WEBAPI,但是swagger并沒有生成WEBAPI,只是給了一個錯誤資訊,如下圖,

4. 在Visual Studio 2017的“解決方案資源管理器”中,找到領域層“ABP.TPLMS.Web.Host”專案中的App_Data\Logs目錄下找到Logs.txt,在日志檔案中看到ABP寫入的錯誤資訊,錯誤資訊如下:
System.NotSupportedException: HTTP method "DELETE" & path "api/services/app/Cargo/Delete" overloaded by actions - ABP.TPLMS.Cargos.CargoAppService.Delete (ABP.TPLMS.Application),ABP.TPLMS.Cargos.CargoAppService.Delete (ABP.TPLMS.Application).
5.根據上面的錯誤資訊,我們發現由于之前我們在寫貨物資訊頁面時的一個多載方法造成的,
6. 在Visual Studio 2017的“解決方案資源管理器”中,找到“ABP.TPLMS.Application”專案中的“Cargos”目錄,找到ICargoAppService.cs檔案,把“Delete”方法改為“DeleteBatch”方法,如下圖,

7. 在Visual Studio 2017的“解決方案資源管理器”中,找到“ABP.TPLMS.Application”專案中的“Cargos”目錄,找到CargoAppService.cs檔案,把“Delete”方法改為“DeleteBatch”方法,如下圖,

8. 在Visual Studio 2017的“解決方案資源管理器”中,找到“ABP.TPLMS.Web.Mvc”專案中的“Controller”目錄,找到CargoController.cs檔案,把“Delete”方法中原來呼叫“Delete”方法,改為呼叫“DeleteBatch”方法,如下圖,

9. 在Visual Studio 2017的解決方案資源管理器中,把“ABP.TPLMS.Web.Host”專案設為啟動專案,然后按F5運行,結果如下圖,正如圖中所示,它對每個HTTP動詞使用不同的顏色代碼,

10. 當我們單擊任何操作方法時,Swagger會顯示這個方法所需要的引數和測驗按鈕,如下圖,

11. 當我們單擊“Try It out”按鈕時,它將詢問引數詳細資訊,我們在引數中填寫引數值,然后點擊“Execute”按鈕,它將向Web API發送請求,如下圖,

12. Org的WebAPI方法Get,回傳結果,如下圖,測驗正常,

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/75364.html
標籤:.NET Core
