我有一个自定义构建的 JSON 模式,它只有几个顶级。这里的问题是它没有将所有内容都验证到 100%。例如,它只检测到 4 个字段中的 2 个,并且必填字段根本不起作用,附加属性也不起作用,等等。我将这个库用于我的 json 模式。{ "users": { "PUT": { "definitions": {}, "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://example.com/root.json", "type": "object", "title": "The Root Schema", "required": [ "DisplayName", "Username", "Email", "Password" ], "properties": { "DisplayName": { "$id": "#/properties/DisplayName", "type": "string", "title": "The Displayname Schema", "default": "", "examples": [ "" ], "minLength": 3, "maxLength": 24, "pattern": "^(.*)$" }, "Username": { "$id": "#/properties/Username", "type": "string", "title": "The Username Schema", "default": "", "examples": [ "" ], "minLength": 3, "maxLength": 15, "pattern": "^(.*)$" }, "Email": { "$id": "#/properties/Email", "type": "string", "title": "The Email Schema", "default": "", "examples": [ "" ], "minLength": 7, "pattern": "^(.*)$", "format": "email" }, "Password": { "$id": "#/properties/Password", "type": "string", "title": "The Password Schema", "default": "", "examples": [ "" ], "pattern": "^(.*)$" } }, "additionalProperties": false } }}我这样做的原因是我正在构建一个 REST API,如果api/auth/user收到 PUT 请求,我希望能够使用 PUT 方法为具体的“用户”部分指定数据要求。知道如何实现吗?
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
如果我使用它手动加载模式和数据,gojsonschema
它会按预期工作。我怀疑由于您以某种复杂的方式加载模式,因此您放入的模式最终会与您期望的有所不同,但由于您的代码示例都是基于 HTTP 的,所以我自己无法真正测试它.
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消