.Net RabbitMQ实战指南——HTTP API接口调用
RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用。一共涉及4种HTTP方法:GET、PUT、DELETE和POST。GET方法一般用来获取如集群、节点、队列、交换器等信息。PUT方法用来创建资源,如交换器、队列之类的。DELETE方法用来删除资源。POST方法也是用来创建资源的,与PUT不同的是,POST创建的是无法用具体名称的资源。比如绑定关系(bindings)和发布消息(publish)无法指定一个具体的名称。
点击Web管理界面左下角的“HTTP API”即可跳转到相应的“RabbitMQ Management HTTP API”帮助页面(http://localhost:15672/api/index.html),里面有详细的接口信息。
借助提供HTTP API接口可以实现自己的中台或者前端做一些调用等。
HTTP API 调用
官网文档给的curl示例

调用HTTP API可以借助RabbitMqHttpApiClient(https://github.com/kuanysh-nabiyev/RabbitMqHttpApiClient)或者自己实现Http请求。
本文借助Refit库实现RabbitMQ HTTP API调用,只有一个http://localhost:15672/api/vhosts 示例。关于Refit库的使用可以参考:https://github.com/reactiveui/refit
定义Refit API接口

示例只简单的返回string,实际使用时可定义对应的Model。
注册IRabbitMQApi

AddRefitClient方法需要添加Refit.HttpClientFactory包。通过AuthorizationHeaderValueGetter增加RabbitMQ HTTP API调用的身份认证,对应IRabbitMQApi的Headers("Authorization: Basic")部分
注入和调用

在控制的构造函数中注入IRabbitMQApi,并在对应方法中调用。
运行效果

说明
示例源码:https://github.com/MayueCif/RabbitMQ
本意是想学习完整个RabbitMQ系列在看其他内容。无奈考虑换份工作到某宝在线面试碰壁,主要是mysql基础薄弱、集群相关以及.Net Core一些机制的实现原理没有深究。因为一直都是用EF来操作数据库,所以会做一些EF操作千万级别数据的尝试。
.Net RabbitMQ实战指南——HTTP API接口调用的更多相关文章
- 【RabbitMQ 实战指南】一 RabbitMQ 开发
1.RabbitMQ 安装 RabbitMQ 的安装可以参考官方文档:https://www.rabbitmq.com/download.html 2.管理页面 rabbitmq-management ...
- 【redis】redis实现API接口调用调用次数的限制
redis实现API接口调用调用次数的限制 参考地址:https://bbs.csdn.net/topics/391856106?page=1 参考地址:https://www.cnblogs.com ...
- [转载]android常用的API接口调用
原文地址:android常用的API接口调用作者:宋耀 显示网页: Uri uri = Uri.parse("http://www.google.com"); In ...
- 【RabbitMQ 实战指南】一 延迟队列
1.什么是延迟队列 延迟队列中存储延迟消息,延迟消息是指当消息被发送到队列中不会立即消费,而是等待一段时间后再消费该消息. 延迟队列很多应用场景,一个典型的应用场景是订单未支付超时取消,用户下单之后3 ...
- Nginx api接口调用配置
1 # Nginx api接口调用配置 2 3 # 什么是跨域同源? 4 # 同源策略:协议(http.https.wss--)+域名+端口=一个完整的网站 5 # 跨域:当前所在的网站post(ge ...
- 新浪网易淘宝等IP地区信息查询开放API接口调用方法
通过IP地址获取对应的地区信息通常有两种方法:1)自己写程序,解析IP对应的地区信息,需要数据库.2)根据第三方提供的API查询获取地区信息. 第一种方法,参见文本<通过纯真IP数据库获取IP地 ...
- ajax跨域实现api 接口调用
背景: 想实现跨域去调用接口, 然后同时支持下次调用,能够带cookie信息过来,同时支持来自多个源头的域名的跨域调用. 1.这样支持来自所有域名的跨域调用: 不支持跨域是,浏览器报错: 在api接口 ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- java web api接口调用
Web Services 被W3C进行了标准化定义. Web Services 发布到网上,可以公布到某个全局注册表,自动提供服务URL,服务描述.接口调用要求.参数说明以及返回值说明.比如中国气象局 ...
随机推荐
- (Py练习)日期格式转换
#将日期转换为易读的格式 #使用dateuti包 from dateutil import parser dt = parser.parse("Mar 6 2019 12:00AM" ...
- 【python】Leetcode每日一题-扰乱字符串
[python]Leetcode每日一题-扰乱字符串 [题目描述] 使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行 ...
- [re模块、json&pickle模块]
[re模块.json&pickle模块] re模块 什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则 ...
- 技能Get·将浏览器已安装程序打包
阅文时长 | 0.51分钟 字数统计 | 820字符 主要内容 | 1.前言&环境说明&预备知识 2.详细步骤 3.声明与参考资料 『技能Get·将浏览器已安装程序打包』 编写人 | ...
- Spring Boot读取自定义外部属性
测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String name; private St ...
- golang:函数总结
golang保留的函数 init(), main()是golang的保留函数,有如下特点: main() 只能用在main包中,仅可定义一个,init() 可定义任意包,可重复定义,建议只定义一个 两 ...
- [刷题] 144 Binary Tree Preorder Traversal
要求 二叉树的前序遍历 实现 递归 栈模拟 定义结构体 Command 模拟指令,字符串s描述命令,树节点node为指令作用的节点 定义栈 Stack 存储命令 1 #include ...
- 搭建LAMP环境部署opensns微博网站
搭建LAMP环境部署opensns微博网站 实验环境 centos7 ip: 192.168.121.17 一.关闭防火墙和selinux [root@localhost ~]# systemctl ...
- gitlab的CI/CD实现
环境准备: gitlab账号公网账号:代码仓库和编译器 目标机:装有docker和gitlab-runner环境的服务器(Linux或类unix机器,我使用的时centos 项目代码:testgola ...
- Node.js入门(含NVM、NPM、NVM的安装)-(转载)
Node.js的介绍 引擎 引擎的特性: JS的内核即引擎.因为引擎有以下特性: (1)转化的作用: 汽油柴油等等->动能 模板+数据--->页面 js引擎:js 代码--->机器码 ...