支持的协议
在 Restorm 里,协议并不是 HTTP 的简化变体:每一种协议都有自己的编辑器、自己的执行方式和自己的响应渲染。 因此同一个项目里可以并列存放一个 REST 调用、一个 MQTT 订阅和一个 Kafka 消费者。
所有执行协议均包含在 Community 版中,没有任何限制。
请求 / 响应
Section titled “请求 / 响应”| 协议 | 用途 | 服务器模式 |
|---|---|---|
| HTTP | REST 以及任何 HTTP 调用 | ✔ |
| GraphQL | 查询、变更、订阅 | ✔ |
| gRPC | 一元调用与流式调用、gRPC-Web、Connect | ✔ |
| SOAP | WSDL 服务、XML 信封 | ✔ |
| OData | 实体集、查询选项、$batch | ✔ |
| JSON-RPC | JSON-RPC 2.0,单次或批量 | — |
| tRPC | query 与 mutation 过程 | — |
| 协议 | 用途 | 服务器模式 |
|---|---|---|
| WebSocket | 原始双向连接 | ✔ |
| Socket.IO | Socket.IO 命名事件 | ✔ |
| MQTT | 物联网 —— 主题、QoS、保留消息、遗嘱消息 | ✔ |
| SSE | Server-Sent Events,仅接收 | — |
| STOMP | 基于 WebSocket 的 STOMP | — |
| AMQP | RabbitMQ —— 发布、消费、检视 | — |
| Kafka | 生产、消费、检视分区 | — |
| Redis | Pub/Sub 与命令 | — |
所有协议的共同点
Section titled “所有协议的共同点”{{变量}}在所有字段中都会被解析,包括协议专属字段。参见 内联变量。- 历史记录会记录每一次执行,无论使用哪种协议。 参见请求历史。
- 代码片段会为每种协议生成,覆盖相关的语言。参见 代码导出。
- 场景能够驱动每一种协议,包括长连接(连接 / 发送 / 关闭)。参见 动作目录。
- 防火墙会拦截所有出站调用,无论使用哪种传输方式。参见 防火墙。
尚不支持的内容
Section titled “尚不支持的内容”为了把边界讲清楚:Restorm 不执行 Thrift(其导入仅用于文档用途),也不支持 AMQP 1.0(仅实现了 AMQP 0-9-1 / RabbitMQ),也不支持 NATS。