如何在 camel rest 中验证 JSON 请求

How to validate the JSON Request in camel rest

我需要根据某些模式验证对 camel 休息服务的传入请求。例如。

在下面给出的请求中

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

应根据以下条件验证上述请求 1.必须包含action元素,格式在上面。 2. RouteId应该存在。

您可以使用 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")