记录消息总线API

本文关键字:API 总线 消息 记录 | 更新日期: 2023-09-27 17:53:04

在过去的几天里,我一直在寻找一种方法来记录我正在研究的微服务架构的API。首先,我将非常快速地描述一下这个项目:

  • c#编写,.NET 4.6.1
  • 使用带有x-pub/x-sub代理的NetMQ作为"消息代理"
  • 所有通信都是序列化为JSON的普通c#对象
  • 一些客户端是浏览器中的JavaScript,其他是。net应用程序

总之,我想知道其他人是如何记录发布到他们的消息总线上的模型的。我见过不少帮助记录REST调用的项目(比如Swagger),但我们没有使用REST。我们的应用程序几乎完全是基于事件的,使用JSON发布-订阅消息。

我的第一个想法是用JSON- schema记录JSON,并使用工具将其转换为格式良好的API文档。这可能会工作得很好,但让我困扰的是,似乎没有任何工具可以将模式生成自动化,作为构建过程的一部分。如果我们的模型偏离了API文档,我希望它是一个构建错误。更好的是,如果有某种方法可以自动生成基本文档作为构建过程的一部分,那么这些文档就可以保持同步。

你们是怎么做到的?由于缺乏特定于消息总线体系结构的文档工具而支持REST,这使我对使用基于消息队列的消息传递体系结构的决定产生了质疑。:)

记录消息总线API

…似乎没有任何工具可以实现模式的自动化一代…

同意地面上的工具很薄。但是,这里有:https://github.com/NJsonSchema/NJsonSchema

你们是怎么做到的?

有趣的是,不到10分钟前我和一个同事正在讨论这个问题:p

如果模型偏离了预定义的模式,我们需要构建(或验收测试)失败。

因此,您可以在构建中使用NJsonSchema包从模型生成模式的步骤。然后有一个比较步骤,将输出的模式与API文档模式进行比较。

相反,您可以从您的模式中生成代码,然后将输出与构建输出中的模型进行比较。

…质疑我们使用基于的消息传递体系结构的决定消息队列. .

坚持到底,朋友