abp(net core)+easyui+efcore實現倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之七(三十三)

abp(net core)+easyui+efcore實現倉儲管理系統目錄

abp(net core)+easyui+efcore實現倉儲管理系統——建立應用服務(五)html

abp(net core)+easyui+efcore實現倉儲管理系統——EasyUI前端頁面框架 (十八) 前端

 
 

     在上面幾篇文章的學習以後,組織管理的新增功能的前端與後臺功能基本實現了咱們所要。今天開始咱們要經過WebAPI來替換控制器中的操做方法。在學習WebAPI以前,我先來介紹一下Swagger這個組件。json

 

十3、Swagger管理WEBAPI

        Swagger兼具了API文檔管理和測試的功能,並且保證了代碼和文檔的一致性。它提供了無需任何實現邏輯的RESTfulAPI的UI表示。它容許用戶在沒有任何代碼訪問的狀況下了解服務的功能,並減小建立服務文檔的時間。api

   Swagger使用swagger工具基於咱們編寫的服務代碼生成的swagger.json文件來生成文檔管理界面。此文件描述服務的功能,即服務支持多少方法,並提供有關方法參數的信息。使用這個文件,SwaggerUI生成客戶機代碼下面咱們經過調用新增組織信息的WEBAPI接口不成功爲示例來學習一下ABP中的Swagger使用。app

      1.在「添加組織信息」界面中輸入相應的組織信息以後,點擊「保存」按鈕 。在彈出的確認對話框中點擊「肯定」按鈕。在彈出的「保存成功」確認對話框中點擊「肯定」按鈕。框架

 

      2.若是保存界面一直是正在保存界面。見下圖。首先咱們去啓動「ABP.TPLMS.Web.Host」項目,經過Swagger來看看咱們的WebAPI是否可用。工具

 

      3.咱們把「ABP.TPLMS.WEB.Host」項目設爲啓動項目,而後在Visual Studio 2017中按F5啓動swagger應用程序。生成並瀏覽WEBAPI,可是swagger並無生成WEBAPI,只是給了一個錯誤信息。以下圖。post

 

      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,返回結果以下圖。測試正常。

 

相關文章
相關標籤/搜索