我的 .raml 文件中有以下 json 模式定义
- request: |
{
"type": "object",
"$schema": "http://json-schema.org/draft-03/schema",
"id": "http://jsonschema.net",
"required": true,
"properties": {
"personProperty": {
"type": "array",
"items": {
"$ref": "property"
}
}
}
}
- property: |
{ "$schema": "http://json-schema.org/draft-03/schema",
"type": "object",
"description": "A single person property",
"properties": {
"fieldId": { "type": "integer", "required": true},
"systemId": { "type": "integer", "required": false},
"value": { "type": "string" , "required": true },
"created": { "type": "string" , "required": false }
}
}
当数组中的必填字段之一丢失时,我需要 mule ESB 拒绝输入。
例如,这应该被 400-BAD REQUEST 拒绝:
{
"personProperty": [
{
"fieldId": "1",
"systemId": 1,
"created": "2015-02-23 21:19:00.907"
}
]
}
如果架构不在数组中,则验证工作正常。但是当在数组内部时,它不会验证任何具有所需属性的单个项目。
我需要特殊配置吗?
谢谢。