使用Swagger为WebSocket聊天服务器生成API文档?

3
我想编写一个具有聊天服务器组件的Web应用程序。我将使用Swagger作为我的主要REST API,但我还想在WebSocket上使用类似的东西来进行聊天服务器。我真的在寻找消息序列化/反序列化、消息验证、传输等方面的帮助,即所有无聊的事情。是否可以使用Swagger实现这一点,或者有人可以建议其他可能对我有所帮助的东西?目前,聊天服务器是基于Redis自制的,但如果我能找到符合我需求的东西,我可能会转换到ejabberd或其他东西。

这个刚刚得到了一个赞。对于仍在寻找的任何人,请查看http://www.grpc.io/,它可以解决这个问题。 - jbrown
1个回答

1
答案是否定的。Swagger为您提供了一种约定,用于记录API,而不是实现它。
根据官方文档:
Swagger™的目标是定义一种标准的、与语言无关的REST API接口,允许人类和计算机在没有源代码、文档或通过网络流量检查的情况下发现和理解服务的能力。
这意味着swagger本身用于构建和可视化API文档。
然而,您要寻找的并不是一个API文档工具。您可以使用XMPP协议库(如Smack)来实现您的目标。请参见此处:http://www.igniterealtime.org/projects/smack/

我知道Swagger是什么,但我想要一个类似的东西来运行WebSocket聊天服务器。也就是说,我需要一些可以填充每个方向发送的消息的对象,并且可以处理消息的序列化/反序列化、验证等操作。 - jbrown
1
答案是不行的。Swagger只能让您创建和可视化文档。 - Mark
2
这并不重要,因为有代码生成器,显然这就是我所指的。 - jbrown
我认为在这种情况下,XMPP协议是您所需要的。大多数聊天语义已经定义好了,您甚至可以扩展它以满足自己的定制需求。 - Mickaël Rémond
@MickaëlRémond 确实,您可以使用XMPP来完成(而使用swagger则无法完成)。有各种库可以帮助您,例如Smack http://www.igniterealtime.org/projects/smack/。 - Mark
@Mark Smack for XMPP看起来就是我需要的。如果你为此更新你的答案,我会接受它。谢谢。 - jbrown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接