Как проверить запрос JSON в верблюжьей стойке

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

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

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

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


person rocky    schedule 11.11.2018    source источник


Ответы (1)


Вы можете использовать компонент 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")
person Bedla    schedule 11.11.2018
comment
к сожалению, поддерживает только версию 4 схемы JSON - person RST; 12.12.2019