.Net RabbitMQ實(shí)現(xiàn)HTTP API接口調(diào)用
RabbitMQ Management插件還提供了基于RESTful風(fēng)格的HTTP API接口來方便調(diào)用。一共涉及4種HTTP方法:GET、PUT、DELETE和POST。GET方法一般用來獲取如集群、節(jié)點(diǎn)、隊(duì)列、交換器等信息。PUT方法用來創(chuàng)建資源,如交換器、隊(duì)列之類的。DELETE方法用來刪除資源。POST方法也是用來創(chuàng)建資源的,與PUT不同的是,POST創(chuàng)建的是無法用具體名稱的資源。比如綁定關(guān)系(bindings)和發(fā)布消息(publish)無法指定一個(gè)具體的名稱。
點(diǎn)擊Web管理界面左下角的“HTTP API”即可跳轉(zhuǎn)到相應(yīng)的“RabbitMQ Management HTTP API”幫助頁面(http://localhost:15672/api/index.html),里面有詳細(xì)的接口信息。
借助提供HTTP API接口可以實(shí)現(xiàn)自己的中臺或者前端做一些調(diào)用等。
HTTP API 調(diào)用
官網(wǎng)文檔給的curl示例
調(diào)用HTTP API可以借助RabbitMqHttpApiClient(https://github.com/kuanysh-nabiyev/RabbitMqHttpApiClient)或者自己實(shí)現(xiàn)Http請求。
本文借助Refit庫實(shí)現(xiàn)RabbitMQ HTTP API調(diào)用,只有一個(gè)http://localhost:15672/api/vhosts 示例。關(guān)于Refit庫的使用可以參考:https://github.com/reactiveui/refit
定義Refit API接口
示例只簡單的返回string,實(shí)際使用時(shí)可定義對應(yīng)的Model。
注冊IRabbitMQApi
AddRefitClient方法需要添加Refit.HttpClientFactory包。通過AuthorizationHeaderValueGetter增加RabbitMQ HTTP API調(diào)用的身份認(rèn)證,對應(yīng)IRabbitMQApi的Headers("Authorization: Basic")部分
注入和調(diào)用
在控制的構(gòu)造函數(shù)中注入IRabbitMQApi,并在對應(yīng)方法中調(diào)用。
運(yùn)行效果
說明
示例源碼:https://github.com/MayueCif/RabbitMQ
本意是想學(xué)習(xí)完整個(gè)RabbitMQ系列在看其他內(nèi)容。無奈考慮換份工作到某寶在線面試碰壁,主要是mysql基礎(chǔ)薄弱、集群相關(guān)以及.Net Core一些機(jī)制的實(shí)現(xiàn)原理沒有深究。因?yàn)橐恢倍际怯肊F來操作數(shù)據(jù)庫,所以會做一些EF操作千萬級別數(shù)據(jù)的嘗試。
到此這篇關(guān)于.Net RabbitMQ實(shí)現(xiàn)HTTP API接口調(diào)用的文章就介紹到這了,更多相關(guān).Net RabbitMQ HTTP API接口調(diào)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ASP.NET中readonly與const的區(qū)別詳解
如果你學(xué)過ASP.NET理論知識都會知道,在ASP.NET中 readonly和const修飾的變量都是恒量,它們的值是不可以被修改的。但是他們之間到底有什么區(qū)別?下面小編就它們的區(qū)別用例子來進(jìn)行說明。2015-10-10基于ASP.NET的lucene.net全文搜索實(shí)現(xiàn)步驟
使用lucene.net搜索分為兩個(gè)部分,首先是創(chuàng)建索引,創(chuàng)建文本內(nèi)容的索引,其次是根據(jù)創(chuàng)建的索引進(jìn)行搜索, 感興趣的朋友可以了解下或許對你有所幫助2013-02-02asp.net String.format中大括號的加入方法
String.format中大括號的加入方法,需要的朋友可以參考下。2010-05-05ASP.NET Web Api 2實(shí)現(xiàn)多文件打包并下載文件的實(shí)例
這篇文章主要介紹了ASP.NET Web Api 2利用ByteArrayContent和StreamContent實(shí)現(xiàn)多文件打包并下載的方法,提供源碼下載,需要的朋友可以參考下。2016-06-06MVC 5 第一章 創(chuàng)建MVC 5 web應(yīng)用程序
本章將講述一些構(gòu)建ASP.NET MVC 5 web application的一些基礎(chǔ)知識, 通過本章學(xué)習(xí),你應(yīng)該能夠掌握到構(gòu)建MVC 5應(yīng)用程序的基本步驟,并且通過展示一個(gè)完整的MVC 5 hello world應(yīng)用程序了解MVC 5應(yīng)用程序所帶來的用戶體驗(yàn)。2014-06-06ajax.net對數(shù)據(jù)庫的插入實(shí)例
ajax.net對數(shù)據(jù)庫的插入實(shí)例,需要的朋友可以參考一下2013-04-04Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫
這篇文章介紹了Entity?Framework使用配置伙伴創(chuàng)建數(shù)據(jù)庫的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03