跳转到内容

服务器模式

Restorm 不只会调用服务器,它还会托管服务器。您定义一条路由及其响应,启动监听, 然后把客户端指向它 —— 通常就是您应用的代码 —— 以测试它如何消费该服务。

当真实服务尚不存在、当很难让它产出您关心的那种响应(一个 503 错误、一个 SOAP 故障、 一个特定的 gRPC 状态码),或者当您想要一份固定的数据集来做可重复的测试时,正需要这种能力。

原理简单,而这恰恰是它好用的地方:您在服务器上配置的内容就是被提供的响应。 您填入的状态码、响应头和正文,正是调用方收到的内容。

一个正在监听的 HTTP 服务器元素:监听按钮变为红色(激活状态)、状态显示“监听中 — 已服务 3 个请求”,以及“服务器运行期间配置已锁定”的提示条

服务器页面
HTTP模拟 HTTP API
GraphQL模拟 GraphQL API
gRPC模拟 gRPC 服务
SOAP模拟 SOAP 服务
WebSocket、Socket.IO、MQTT模拟 WebSocket、Socket.IO 和 MQTT
OData模拟 OData 服务

右键点击某个文件夹 ▸ 添加 ▸ 然后选择想要的条目。菜单提供八种服务器,每一种都是一个独立的元素类型:

HTTP 服务器 · GraphQL 服务器 · gRPC 服务器 · SOAP 服务器 · WebSocket 服务器 · Socket.IO 服务器 · MQTT 服务器 · OData 服务器

创建出的元素在树中带有一个 SRV 徽标。对于 HTTP 服务器,初始值为 GETlocalhost:8080/、状态码 200

在面板中,发送按钮被替换为开始监听 ↔ 停止监听开关。响应面板实时显示状态: 未在监听,或者监听中 — 已服务 N 个请求

主机固定为 localhost:只有端口和路径可编辑。模拟服务器本来就不该暴露到网络上。

服务器可以通过停止按钮、关闭文件或退出应用来停止。

Restorm 每个端口只打开一个套接字,并根据入站调用的性质进行分发: 普通请求交给 HTTP 路由,协议升级请求交给 WebSocket 或 Socket.IO。

具体来说:一个 HTTP 模拟服务器和一个 Socket.IO 服务器可以一起监听 :8080。 只有当该端口上最后一条路由停止时,端口才会被释放。

被提供的响应头和正文是在提供响应的那一刻解析的,而不是在启动时: 在服务器监听期间修改某个环境变量,下一次响应就会变化。参见 变量与环境

监听 … / 关闭 … 动作会在场景运行期间托管一个服务器,其 served 输出为每一次入站调用发出一个事件。 正是这一点让您能在同一张图里端到端地测试一个 webhook。参见 托管服务器

Restorm托管式服务器(如 Postman Mock Servers)
运行位置在您的机器上在服务商那边
延迟没有任何网络往返一次互联网往返
离线可用
响应来源请求本身,可编辑一份保存下来的示例
{{ }} 模板✔,每次调用都重新解析有限支持
端口共享不适用
隐私没有任何数据离开本机数据要经过该服务