Как проверить 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")