记录消息总线API?

时间:2016-06-29 17:07:47

标签: c# json documentation microservices netmq

我一直在寻找过去几天的某种方式来记录我正在研究的微服务架构的API。首先,我将简要介绍该项目:

  • 用C#编写,.NET 4.6.1
  • 将NetMQ与x-pub / x-sub代理一起用作“消息代理”
  • 所有通信都是序列化为JSON的纯C#对象
  • 某些客户端是浏览器中的JavaScript,其他客户端是.NET应用程序

缺点是我想知道其他人如何记录发布到他们的消息总线的模型。我见过很多帮助记录REST调用的项目(比如Swagger),但我们没有使用REST。我们的应用程序几乎完全基于事件,使用JSON进行pub-sub消息传递。

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

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

1 个答案:

答案 0 :(得分:1)

  

...似乎没有任何工具可以自动化架构   代...

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

  

你们是怎么做到的?

有趣的是,我在10分钟前与同事进行了这次精确的讨论:p

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

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

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

  

...质疑我们决定使用基于的消息传递架构   消息队列..

坚持到底,朋友。