如何在驼峰休息中验证JSON请求

时间:2018-11-11 07:33:11

标签: rest apache-camel spring-camel camel-ftp

我需要基于某种模式来验证对骆驼休息服务的传入请求。例如。

应以下要求

{
 "routeId" : "fileBatchRoute",
 "action" : "start",
 "sourceLocation" : "sourceDirectory",
 "destinationLocation" : "destinationDirectory"
}

上述要求应根据以下条件进行验证 1.必须包含操作元素,格式必须在上方。 2. RouteId应该存在。

1 个答案:

答案 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")