java mongo json 模式验证

问题描述

我想知道 mongock 是否支持 synthax 如:

 "allOf": [{ "$ref": "/schema/base" }]

当它在集合创建期间构建验证时,或者如果您知道一个可用于“合并”独特大 json 架构中的所有引用的库,该架构可作为用于验证的文档的输入。

我用来验证集合的代码是:

    String jsonString = readJsonFile(fileName);

    Document doc = Document.parse(jsonString);

    Validationoptions validationoptions = new Validationoptions();
    validationoptions.validator(doc);
    validationoptions.validationAction(ValidationAction.ERROR);
    validationoptions.validationLevel(ValidationLevel.STRICT);
    CreateCollectionoptions cco = new CreateCollectionoptions();
    cco.validationoptions(validationoptions);

正如您现在看到的,我只是从文件中读取 json 模式并使用 Document 对象对其进行解析。

我想让 json 模式尽可能简单以供人类阅读,并且我有扩展其他对象的对象,因此使用单独的 json 模式文件来表示超级对象会更容易。

我使用的是 java 1.13 和 spring boot 2.4.2。

解决方法

Mongock 目前不提供模式验证机制。不过,该团队正在考虑在版本 5 发布后作为补丁添加

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...