模拟 HTTP API
右键点击某个文件夹 ▸ 添加 ▸ HTTP 服务器。
服务器使用与请求相同的字段来配置 —— 这正是它的妙处所在:方法和路径定义被监听的路由, 状态码、响应头和正文定义被提供的响应。
| 字段 | 作用 |
|---|---|
| 方法 | 该路由的方法 |
| 地址 | localhost:<port><path> —— 主机是固定的 |
| 模拟状态码 | 返回的状态码,默认为 200 |
| 响应头 | 响应的头部 |
| 正文 | 响应的正文 |

一条路由是方法 + 路径的组合。匹配基于精确路径,查询字符串会被忽略。 任何到达该端口但不匹配任何路由的调用都会收到 404。
只有当两条路由的方法、路径和端口都相同时,它们才会冲突。因此您可以为每条路由创建一个服务器请求, 并把它们全部启动。
GET localhost:8080/clients → 200,客户列表GET localhost:8080/clients/42 → 200,单个客户POST localhost:8080/clients → 201,带 Location 响应头GET localhost:8080/clients/999 → 404(没有匹配的路由:默认响应)响应头和正文在每一次入站调用时解析。因此,只要变量发生变化,包含 {{maintenant}} 或
{{compteur}} 的正文就会在不同调用之间产生不同结果。
小技巧:这让您可以在服务器运行期间驱动它的行为 —— 修改某个环境变量的值,下一次调用就会收到不同的响应, 无需重启。
一个 HTTP 模拟服务器和一个 WebSocket 或 Socket.IO 服务器可以监听同一个端口: Restorm 会把普通请求分发到 HTTP 路由,把协议升级请求分发到实时服务器。
HTTP 服务器动作会在场景运行期间托管该路由,并为每一次收到的调用发出一个 served 事件 ——
其中携带 { request, response }。这就是测试 webhook 的方法:
HTTP 服务器 ──connected──► HTTP 请求“触发 webhook” └────────served──────► 对 request.body 做断言 然后 ──► 关闭 HTTP 服务器参见托管服务器。