Как проверить JSON-запрос в верблюжьем отдыхе

Мне нужно проверить входящий запрос в службу отдыха верблюдов на основе какой-то схемы. например.

В запросе, как указано ниже

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

Вышеупомянутый запрос должен быть проверен на основе следующих условий 1. Он должен содержать элемент действия, а формат должен быть выше. 2. RouteId должен присутствовать.

1 ответ

Решение

Вы можете использовать компонент json-validator. С генерацией схемы может помочь вам инструмент JSONschema.net.


С вашими требованиями (routeId обязателен, действие обязательно и является одним из следующих параметров: "запуск", "остановка", "приостановка", "возобновление"): схема может выглядеть примерно так:

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")
Другие вопросы по тегам