问题描述
我们有很多微服务公开了它们的 API,我们有 API 优先的方法。每个服务都有自己的 OpenApi3.0 规范文件,大部分为 yaml 或 json 格式,位于它们自己的 git 存储库中。
但是,与其他公司一样,我的团队和其他内部团队在发现 API 及其相关文档方面遇到了麻烦。我想建立一个可以呈现所有 API 规范并使事情易于发现的中心位置。可能与 Stripe 或 Twitter 文档标准相当。
到目前为止,我找到了几种方法来实现它:
-
使用 React 框架为每个规范分别渲染 Redoc 组件。使其具有可扩展性,但跨服务搜索可能很困难。
-
使用一些预先存在的工具合并所有 api 规范并将其转换为 MarkDown 以在 Slate 中显示或使用带有 React Redoc 内容的 Docusauras。使用 https://www.npmjs.com/package/openapi-merge-cli 和 widdershins 与 slate 合并。在一家拥有多个 api 的公司中,我认为使用这种方法进行扩展将是一个有趣的挑战。
我不想依赖 SwaggerHub,因为它将我与特定的东西联系在一起。同样,我正在寻找具有允许商业用途的许可证的开源内容。
很想得到一些建议/经验,或者是否存在类似的东西,我可以避免重新发明轮子。