【问题标题】:Swagger for a chat server over a websocket?通过 websocket 大摇大摆地使用聊天服务器?
【发布时间】:2015-07-14 17:00:10
【问题描述】:

我想编写一个具有聊天服务器组件的 web 应用程序。我将对我的主要 REST API 使用 swagger,但我也想通过 websocket 为聊天服务器使用类似的东西。我真的在寻找消息的序列化/反序列化、消息验证、传输等。即所有无聊的东西。

是否可以为此使用 swagger,或者人们可以提出其他可能对我有帮助的建议吗?目前聊天服务器是基于 redis 自制的,但我可能切换到 ejabberd 或其他东西,如果我能找到满足我需要的东西。

【问题讨论】:

  • 这刚刚获得了赞成票。对于仍在寻找的人,请查看grpc.io,它可以解决此问题。

标签: chat swagger


【解决方案1】:

答案是否定的。 Swagger 为您提供了一种约定,用于记录您的 API 未实现它。

根据官方文档:

Swagger™ 的目标是为 REST API 定义一个与语言无关的标准接口,使人和计算机无需访问源代码、文档或通过网络流量检查即可发现和理解服务的功能。

这意味着 swagger 本身用于构建和可视化 API 文档。

但是,您寻找的不是 API 文档工具。您可以使用 Smack 等 XMPP 协议库来实现您的目标。见这里:http://www.igniterealtime.org/projects/smack/

【讨论】:

  • 我知道 swagger 是什么,但我想要在 websockets 上为聊天服务器运行类似的东西。 IE。可以为我提供可以为每个方向发送的消息填充的对象,并且可以处理消息的序列化/反序列化、验证等。
  • 答案是否定的。 Swagger 只能让您创建和可视化文档。
  • 这不是因为有代码生成器,这显然是我所指的。
  • 我认为 XMPP 协议是您在这种情况下所需要的。聊天的大部分语义已经定义,您甚至可以对其进行扩展以满足您自己的自定义需求。
  • @MickaëlRémond 是的,你可以使用 XMPP 做到这一点(而你不能用 swagger)。有各种图书馆可以提供帮助,例如 Smack igniterealtime.org/projects/smack
猜你喜欢
  • 2017-10-11
  • 2023-02-23
  • 2018-05-17
  • 2019-05-05
  • 2019-05-11
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多