t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как произвести валидацию json используя Retrofit и JSON Schema Validator

Теги: #<Tag:0x00007f74877c1fc0> #<Tag:0x00007f74877c1ea8> #<Tag:0x00007f74877c1c78> #<Tag:0x00007f74877c1ae8>

Привет. Есть тесты API на Java, используется Retrofit
Ответ мапится на модели.
Но стоит задача проверять обязательность каких либо полей, тип данных определенных полей, диапазон определенных полей
С этой задачей должен справится Json схема валидатор, но как его прикрутить не понятно. Так в response ретрофита получается уже объект. Как взять просто строку (json) и при этом оставить возможность использования POJO?

Сейчас процесс происходит так

Response response = user.getUsers().execute();

тут user это интерфейс

@POST(“api/v1/getUsers”)
Call getUsers();

все теперь response доступны поля модели UserResponse и это супер, мы можем сравнивать модели, с такой же моделью полученной к примеру из бд. Но иногда ответы очень большие, и что бы к примеру изобрести аналогичный SQL запрос надо потратить очень много времени. Хотелось бы в таких случаях использовать json валидатор. Буду благодарен если подскажете как его применить используя мой сетап.

Сам себе отвечу, кажется найдено решение.

в интерфейсе тип возвращаемого значение меняем на ResponseBody
У этого объекта есть метод .string() таким образом получаем строку.
Далее по нужде преобразуем в объект

Gson gson = new GsonBuilder().create();
UserResponse sr = gson.fromJson(json, UserResponse.class);