问题描述
我想知道 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 发布后作为补丁添加