【问题标题】:How to manage JSON-Schemas for multiple projects?如何管理多个项目的 JSON 模式?
【发布时间】:2021-01-29 23:35:24
【问题描述】:

假设您有一个用于 UI 应用程序(例如 Vue)、Node.js 或 Springboot 服务器的 Schema,并且必须针对数据库(例如 SQL、mongoDB 等)进行验证,也许还有一些 Micro-运行在任何东西上的服务。

我如何以及在哪里管理这个 JSON 架构,以便如果我必须出于任何原因更改架构,每个架构组件都可以处理新的 JSON 架构。 否则我需要在最多 10 个项目中更新 Schema,所以没有一个是不兼容的。

是否真的像拥有一个仅包含 JSON 模式的 git 项目一样简单,还是我需要为每种语言/环境提供特定的加载器? 是否有我不知道的最佳做法?

PS:我真的不认为我需要在运行时自动同步,所以我真的不认为我需要另一个微服务来实现这一点。 话虽如此,如果微服务是最好的选择,那么获得微服务就是。

【问题讨论】:

    标签: json architecture jsonschema


    【解决方案1】:

    如果你将它们保存在一个 git 项目中,你如何加载它们?每次应用启动时克隆项目?它可能有效,但我会采用更灵活的方法,但需要付出太多努力才能完成:

    • 构建可通过 REST API 访问的 JSON 模式存储库
    • 当应用启动时,它会请求获取架构(最新或特定版本)

    通过这种方式,您可以获得使用模式的统一(和可扩展)方式。即使您考虑在未来某个时间进行热重载,您也可以利用这种方法来做到这一点。

    Here 是这个方向的一个老项目,你可以试一试看看它是否有效(或者至少是为了一些灵感)

    【讨论】:

      猜你喜欢
      • 2012-01-01
      • 1970-01-01
      • 2019-11-24
      • 2011-03-23
      • 2018-02-14
      • 2016-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多