跳转到内容

模拟 HTTP API

右键点击某个文件夹 ▸ 添加 ▸ HTTP 服务器

服务器使用与请求相同的字段来配置 —— 这正是它的妙处所在:方法路径定义被监听的路由, 状态码响应头正文定义被提供的响应。

字段作用
方法该路由的方法
地址localhost:<port><path> —— 主机是固定的
模拟状态码返回的状态码,默认为 200
响应头响应的头部
正文响应的正文

一个 HTTP 服务器元素:URL 精简为 localhost + 端口 + 路径、提供服务的方法,以及模拟响应的响应头和正文

一条路由是方法 + 路径的组合。匹配基于精确路径,查询字符串会被忽略。 任何到达该端口但不匹配任何路由的调用都会收到 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 服务器

参见托管服务器