1. 程式人生 > 程式設計 >.Net RabbitMQ實現HTTP API介面呼叫

.Net RabbitMQ實現HTTP API介面呼叫

RabbitMQ Manage程式設計客棧ment外掛還提供了基於RESTful風格的HTTP API介面來方便呼叫。一共涉及4種HTTP方法:GET、PUT、DELETE和POST。GET方法一般用來獲取如叢集、節點、佇列、交換器等資訊。PUT方法用來建立資源,如交換器、佇列之www.cppcns.com類的。DELETE方法用來刪除資源。POST方法也是用來建立資源的,與PUT不同的是,POST建立的是www.cppcns.com無法用具體名稱的資源。比如繫結關係(bindings)和釋出訊息(publish)無法指定一個具體的名稱。

點選Web管理介面左下角的“HTTP API”即可跳轉到相應的“RabbitMQ Management HTTP API”幫助頁面(http://localhost:15672/api/index.html),裡面有詳細的介面資訊。

藉助提供HTTP API介面可以實現自己的中臺或者前端做一些呼叫等。

HTTP API 呼叫

官網文件給的curl示例

.Net RabbitMQ實現HTTP API介面呼叫

呼叫HTTP API可以藉助RabbitMqHttpApiClient(https://github.com/kuanysh-nabiyev/RabbitMqHttpApiClient)或者自己實現Http請求。

本文藉助Refit庫實現RabbitMQ HTTP API呼叫,只有一個htt程式設計客棧p://localhost:1567程式設計客棧2/api/vhosts 示例。關於Refit庫的使用可以參考:https://github.com/reactiveui/refit

定義Refit API介面

.Net RabbitMQ實現HTTP API介面呼叫

示例只簡單的返回string,實際使用時可定義對應的Model。

註冊IRabbitMQApi

.Net RabbitMQ實現HTTP API介面呼叫

AddRefitClient方法需要新增Refit.HttpClientFactory包。通過AuthorizationHeaderValueGetter增加RabbitMQ HTTP API呼叫的身份認證,對應IRabbitMQApi的Headers("Authorization: Basic")部分

注入和呼叫

.Net RabbitMQ實現HTTP API介面呼叫

在控制的建構函式中注入IRabbitMQApi,並在對應方法中呼叫。

執行效果

.Net RabbitMQ實現HTTP API介面呼叫

說明

示例原始碼:https://github.com/MayueCif/RabbitMQ

本意是想學習完整個RabbitMQ系列在看其他內容。無奈考慮換份工作到某寶線上面試碰壁,主要是

mysql基礎薄弱、叢集相關以及.Net Core一些機制的實現原理沒有深究。因為一直都是用EF來操作資料庫,所以會做一些EF操作千萬級別資料的嘗試。

到此這篇關於.Net RabbitMQ實現HTTP API介面呼叫的文章就介紹到這了,更多相關.Net RabbitMQ HTTP API介面呼叫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!