关于如何记录Websocket API的建议
我用socket.io编写了一个Websocket-API。
假设建立连接后,服务器将等待一个login
事件,其中有一个像{username: String, password: String}
这样的有效载荷。
然后服务器回答事件login:accept
或login:deny
。
只有当登录成功时,服务器才会响应一个事件tweets:get
一个事件tweets
(包含一个tweet作为负载数组)。
是否有像这样的文档API的标准化方式? 你有什么建议和经验?
有AsyncApi节点工具来创建机器可读的定义,它与swagger非常相似,但是对于异步API,并且有工具可以生成诸如AsyncApi docgen和widdershins之类的HTML。
作为示例,您可以使用yaml
或json
构建文档:
asyncapi: "1.0.0"
topics:
"tweets:get":
publish:
$ref: "#/components/messages/getTweets"
tweets:
subscribe:
$ref: "#/components/messages/tweetsList"
其中topics
= events
,在socket.io中, publish
= emit
和subscribe
= on
之后说,使用socket.io的认证主要依赖于令牌,用户将在连接启动时在options.query
中发送认证令牌,并在后端对令牌进行认证,然后在认证失败的情况下断开连接。 无需login:accept
或login:deny
const socket = io('http://localhost?token=abc');
// or
const socket = io({ query: { token: 'cde' } });
链接地址: http://www.djcxy.com/p/31781.html