🛂 Валидация JSON через XDTO (включая массивы). При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.



Видоизмененная функция с инфостарт. Копипаста для использования в копилку полезняков. Автор кода (пруф) Никита Авдеев.



// Использование schema для json удобнее/полезнее, чем ручной разбор:

🔸 В моментах где надо контролировать наличие свойств, фасеты, длину строки - XDTO справится из коробки. Иначе придется писать много абстрактных методов, подтягивать регулярные выражения и в принципе усложнять валидацию.

🔸 Если не обрабатывать исключения при валидации через XDTO, при выбросе исключения вызывающая сторона получит статус 500 и в теле ответа подробное описание, почему валидация провалилась.

🔸 Можно создавать свои объекты с набором свойств и правил и использовать в других пакетах.