关于如何记录Websocket API的建议

我用socket.io编写了一个Websocket-API。

假设建立连接后,服务器将等待一个login事件,其中有一个像{username: String, password: String}这样的有效载荷。

然后服务器回答事件login:acceptlogin:deny

只有当登录成功时,服务器才会响应一个事件tweets:get一个事件tweets (包含一个tweet作为负载数组)。

是否有像这样的文档API的标准化方式? 你有什么建议和经验?


有AsyncApi节点工具来创建机器可读的定义,它与swagger非常相似,但是对于异步API,并且有工具可以生成诸如AsyncApi docgen和widdershins之类的HTML。

作为示例,您可以使用yamljson构建文档:

asyncapi: "1.0.0"

topics:
    "tweets:get":
        publish:
            $ref: "#/components/messages/getTweets"
    tweets:
        subscribe:
            $ref: "#/components/messages/tweetsList"

其中topics = events ,在socket.io中, publish = emitsubscribe = on

之后说,使用socket.io的认证主要依赖于令牌,用户将在连接启动时在options.query中发送认证令牌,并在后端对令牌进行认证,然后在认证失败的情况下断开连接。 无需login:acceptlogin:deny

const socket = io('http://localhost?token=abc');
// or
const socket = io({ query: { token: 'cde' } });
链接地址: http://www.djcxy.com/p/31781.html

上一篇: Recommendation on how to document Websocket API

下一篇: Dynamically Generate UITableView Cells and Headrs