surging如何使用swagger 組件測試業務模組

來源:互聯網
上載者:User

標籤:配置   watch   family   ble   nta   架構   擴充   設定   ali   

1 、前言

   微服務架構概念的提出已經有非常長一段時間了,但在近期幾年卻開始頻繁地出現,大家都著手升級成微服務架構,使用著各種技術,大家認為架構有服務治理就是微服務,實現單一協議的服務調用,微服務雖然沒有太明確的定義,但是我認為服務應該是一個或者一組相對較小且獨立的功能單元,可以自由組合拆分,針對於業務模組的 CRUD 可以註冊為服務,而每個服務都是高度自治的,從開發,部署都是獨立,而每個服務只做單一功能,利用領域驅動設計去更好的拆分成粒度更小的模組,而架構本身提供了多種協議,如ws,tcp,http,mqtt,rtp,rtcp, 並且有各種功能的中介軟體,所開發的業務模組,通過架構可以適用於各種業務情境,讓開發人員專註於業務開發這才是真正意義上的微服務。

 以上只是談下微服務,避免一些人走向誤區。而這篇文章主要介紹下surging如何使用swagger 組件測試業務模組

surging源碼下載

2、如何使用swagger 

surging 整合了Kestrel組件並且擴充swagger組件,以下介紹下如何使用swagger組件

xml文檔檔案設定

針對於 swagger 需要產生 schema,那麼需要載入介面模組的xml文檔檔案,可以通過項目-屬性-產生-xml文檔檔案 進行設定,如所示

通過以上設定,如果掃描載入業務模組,可以使用dotnet publish -c release 產生模組檔案,如所示

 

檔案配置

使用swagger ,如果使用官方提供的surging 引擎的話,就需要開啟Kestrel組件,如以下配置所示

  "Surging": {    "Ip": "${Surging_Server_IP}|127.0.0.1",    "WatchInterval": 30,    "Port": "${Surging_Server_Port}|98",    "MappingIp": "${Mapping_ip}",    "MappingPort": "${Mapping_Port}",    "Token": "true",    "MaxConcurrentRequests": 20,    "ExecutionTimeoutInMilliseconds": 30000,    "Protocol": "${Protocol}|None", //Http、Tcp、None    "RootPath": "${RootPath}|D:\\userapp",    "Ports": {      "HttpPort": "${HttpPort}|280",      "WSPort": "${WSPort}|96"    },    "RequestCacheEnabled": false,    "Packages": [      {        "TypeName": "EnginePartModule",        "Using": "${UseEngineParts}|DotNettyModule;NLogModule;MessagePackModule;ConsulModule;KestrelHttpModule;WSProtocolModule;EventBusRabbitMQModule;CachingModule;"      }    ]  }

以下是配置swagger,如果不添加以下配置,可以禁用swagger

  "Swagger": {    "Version": "${SwaggerVersion}|V1", // "127.0.0.1:8500",    "Title": "${SwaggerTitle}|Surging Demo",    "Description": "${SwaggerDes}|surging demo",    "Contact": {      "Name": "API Support",      "Url": "https://github.com/dotnetcore/surging",      "Email": "[email protected]"    },    "License": {      "Name": "MIT",      "Url": "https://github.com/dotnetcore/surging/blob/master/LICENSE"    }  }

 

 通過以上設定,就可以通過http://127.0.0.1:280/swagger進行訪問,效果如所示

測試上傳檔案

測試下載檔案

 Post 測試

GET 測試

 

五、總結

通過swagger 引擎組件能夠產生業務介面文檔,能夠更好的和團隊進行協作,而surging計劃是去網關中心化,會擴充‘關卡(stage)‘引擎組件以代替網關,同時也會擴充更多的通訊協定,也歡迎大家擴充引擎組件,讓生態更強大。

 

surging如何使用swagger 組件測試業務模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.