WebSocket 接口
WebSocket 是一种在单个 TCP 连接上进行全双工通信的 API 技术。相比于传统的 HTTP 请求,WebSocket 具有更低的延迟和更高的效率。它适用于需要长时间保持连接并实时传输数据的场景,例如在线游戏、实时聊天等。
- Apifox 版本号大于等于
2.2.32
才支持WebSocket
接口管理。
新建 WebSocket 接口
你可以在 HTTP 项目中新建 WebSocket 接口。
点击左侧的
+
按钮,选择新建 WebSocket 接口(Beta)
。输入 WebSocket 服务器的 URL,以
ws
或wss
开头。点击
连接
。若要断开 WebSocket 接口的连接,请点击
断开
。
- 推荐使用 Apifox 客户端版,以使用 WebSocket 接口的完整功能和最佳体验。
发送消息
建立 WebSocket 连接后,你可以在 Message
标签下撰写消息。
除了直接撰写 Text
、 JSON
、XML
、HTML
等文本格式的消息之外,还可以通过 Base64
或 Hexadecimal
来撰写二进制格式的消息。
编辑器会根据所选的消息格式,对消息内容进行语法高亮。如果消息是 JSON
、XML
或 HTML
格式,还可以对输入的内容进行格式化操作。
查看消息
下方的 Messages
按照时间顺序集中展示连接状态、发送的消息、收到的消息。
点击单条消息,则可以在右侧查看消息详情:
如果消息是文本格式,默认会显示格式化后的消息,也可以手动切换消息格式和编码。
如果消息是二进制格式,默认会显示消息的
Hexdump
,也可以查看经过Base64
编码后的消息和原始消息。
添加握手请求参数
你也可以自定义 WebSocket 握手时所需要传递的参数,比如 Params
、Headers
、Cookies
,以满足鉴权或其他复杂场景。
- 建立连接后无法修改握手请求的参数,必须在建立连接之前或者断开连接之后进行配置。
使用变量
你可以在 WebSocket 连接的握手和消息中使用 Apifox 变量。
有关如何使用变量的更多信息,请参阅 环境变量/全局变量/临时变量。
接口文档
你可以对 Websocket 接口设定 状态
、责任人
、标签
,还可以用 Markdown
格式撰写详细的接口说明。
当然,你可以将 WebSocket 的接口文档分享到团队外部,然后直接在浏览器中查看。
保存接口
在完成调试后,你可以点击 保存
按钮将 WebSocket 接口保存到 HTTP
项目的目录树中,以便团队内的其他成员进行调试或查看接口文档。
常见问题
- 为什么没有校验响应?
WebSocket 请求在建立连接时,正常情况下 HTTP 状态码一定是 101
,表示协议已升级。因此,校验状态码意义不大。
- 没有 Auth 选项卡,该如何对接口鉴权?
目前推荐两种方式进行 WebSocket 接口鉴权:
- 在建立连接时,用
Param
、Header
或Cookie
中的某个字段传递鉴权信息; - 在发送消息时,用消息的某个字段传递鉴权信息。
- Apifox 的 WebSocket 支持前置/后置脚本、断言吗?
暂不支持,已在设计开发中。
- 支持请求示例和响应示例吗?
暂不支持,后续会评估迭代。
- 为什么没有 Mock?
当前不支持 WebSocket 的 API 定义,因此无法根据定义生成消息体。后续会评估迭代。