给定的写入模式,当我们为字符串属性设置“readOnly”时,行为不正确

Given write mode, when we set 'readOnly' for string property, the behaviors is not correct

提问人:Lambda 提问时间:6/17/2023 最后编辑:Prajwal KulkarniLambda 更新时间:6/18/2023 访问量:30

问:

我正在尝试使用 networknt 中的 json-schema-validator lib 来根据模式验证我的 JSON 数据。

但这似乎不是正确的行为。

readOnly=false 的示例架构

{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Read Only Schema", "description": "Testing Read Only Schema Validation", "type": "object", "properties": { "firstName": { "type": "string", "readOnly": **false**  } } } 

数据需要验证{ "firstName": "George" }

测试用例

@Test void givenWriteModelWhenReadOnlyFalseThenNeedAllows() throws IOException { ObjectNode node = getJsonNode(); Set<ValidationMessage> errors = loadJsonSchema(false).validate(node); }

我的情况是,当发送HTTP POST请求以创建实体时,需要检查配置为“readOnly=true或false”的相关属性。

如果配置为 ,当我们设置为 for string 属性时,需要触发验证并报告有关无法更改它的错误,但实际上,没有任何错误。 如果配置为 ,当我们为 String 属性设置为 时,这意味着可以创建/编辑 String 属性,对吧?如果是这样,它需要被允许,但实际上,它仍然得到一个错误 任何人都可以在这里帮助我,或者我对这个 readOnly 关键字的理解有问题?提前致谢!readOnly=truereadOnlytruereadOnly=falsereadOnlyfalse$.firstName: is a read-only field, it cannot be changed

Java JSON 验证

评论


答: 暂无答案