我需要基于某种模式来验证对骆驼休息服务的传入请求。例如。
应以下要求
{
"routeId" : "fileBatchRoute",
"action" : "start",
"sourceLocation" : "sourceDirectory",
"destinationLocation" : "destinationDirectory"
}
上述要求应根据以下条件进行验证 1.必须包含操作元素,格式必须在上方。 2. RouteId应该存在。
答案 0 :(得分:3)
您可以使用json-validator组件。 使用模式生成可以帮助您使用JSONschema.net工具。
根据您的要求(routeId是必需的,操作是必需的,并且是“ start”,“ stop”,“ suspend”,“ resume”之一)的模式可能类似于:
routeSchema.json:
{
"definitions": {},
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"required": [
"routeId",
"action"
],
"properties": {
"routeId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"start",
"stop",
"suspend",
"resume"
]
},
"sourceLocation": {
"type": "string"
},
"destinationLocation": {
"type": "string"
}
}
}
路由定义:
.to("json-validator:routeSchema.json")