Size: a a a

Spring Framework and more

2019 September 30

PB

Pavel Bukhmatov in Spring Framework and more
Roman
подскажите как можно протестить JSON на выходе на требования к наличию полей ? то есть есть разделы и должны быть подразделы, а сам список объектов тоже должен отвечать спеке. Сами значения неважны...
Именно тестировать? @JsonTest
источник

Д

Дмитрий in Spring Framework and more
Roman
подскажите как можно протестить JSON на выходе на требования к наличию полей ? то есть есть разделы и должны быть подразделы, а сам список объектов тоже должен отвечать спеке. Сами значения неважны...
источник

АС

Андрей Силютин in Spring Framework and more
Как сделать так, чтобы переменная пути (PathVariable) преобразовывалась в entity? То есть передан запрос /entity/2, нужно, чтобы в контроллер передавалась сущность Entity с id=2 и инициализированными полями из бд
источник

DS

Dmitry Shut in Spring Framework and more
Андрей Силютин
Как сделать так, чтобы переменная пути (PathVariable) преобразовывалась в entity? То есть передан запрос /entity/2, нужно, чтобы в контроллер передавалась сущность Entity с id=2 и инициализированными полями из бд
Ну, можно в фильтре или интерсепторе в боди ложить, но сама идея звучит так себе
источник

АС

Андрей Силютин in Spring Framework and more
я пришёл из laravel, там это общепринятая практика. В spring многое делается иначе =)
источник

R

Roman in Spring Framework and more
видимо я плохо объяснил или кто то решил, что у меня банальная задачка из поисковика.
источник

АС

Андрей Силютин in Spring Framework and more
Я сделал кастомный Converter<String, Entity>, который запрашивает из бд сущность. И это работает. Но возникает другая проблема. Почему-то возникает LaziInitException при дальнейшей работе с этой сущностью
источник

АС

Андрей Силютин in Spring Framework and more
Roman
подскажите как можно протестить JSON на выходе на требования к наличию полей ? то есть есть разделы и должны быть подразделы, а сам список объектов тоже должен отвечать спеке. Сами значения неважны...
валидация с помощью json-schema ?
источник

R

Roman in Spring Framework and more
Pavel Bukhmatov
Именно тестировать? @JsonTest
JsonSlurper пробую...
assert out instanceof  Map
       out.containsKey("1й")
       out.containsKey("2ы")
       out.containsKey("3а")
       out.containsKey("4ф")
       def metatagUrlsStruct= out.get("1а")
       def keyElementsStruct=out.get("2а")
       def usersVarsStruct=out.get("3п")
       и в таком духе... когда добираемся до объектов  надо будет проверять, что поля именованы по спеке. Что допустим список персон это вид [{id: 1, name: "петя" }, {id: 2, name: "Вася" }]. Просто на фронте у них какой то xJs которому надо сохранить названия полей
источник

R

Roman in Spring Framework and more
Андрей Силютин
валидация с помощью json-schema ?
а оно сможет типа как  я выше написал ? пройтись по структуре и проверить
источник

АС

Андрей Силютин in Spring Framework and more
надо проверить, что объекты и элементы массивов содержат обязательные поля?
источник

R

Roman in Spring Framework and more
Андрей Силютин
надо проверить, что объекты и элементы массивов содержат обязательные поля?
ну вот я выше подписал, так понятнее?
источник

АС

Андрей Силютин in Spring Framework and more
json-schema это может.  Я у себя реализовал валидацию json-запросов с помощью com.github.java-json-tools.json-schema-validator
источник

R

Roman in Spring Framework and more
потому что фронты подвяжутся к названиям полей и надо в тесте отразить эти требования, чтобы поля именовались так то и структура была такая то
источник

АС

Андрей Силютин in Spring Framework and more
ну да, в целом это будет достаточно читаемо. json-schema для json это как xsd для xml
источник

АС

Андрей Силютин in Spring Framework and more
можно почитать схему и понять, что должно быть в json'е
источник

R

Roman in Spring Framework and more
посмотрим, я просто тест на груви делаю
источник

АС

Андрей Силютин in Spring Framework and more
Dmitry Shut
Ну, можно в фильтре или интерсепторе в боди ложить, но сама идея звучит так себе
Идея просится, когда надо делать PreAuthorize. Например, только авторам поста можно менять его содержимое. И тут было бы неплохо передавать в метод  сущность поста, а не id (чтобы использовать SpEL). Может быть, это делается иначе?
источник

DS

Dmitry Shut in Spring Framework and more
Андрей Силютин
Идея просится, когда надо делать PreAuthorize. Например, только авторам поста можно менять его содержимое. И тут было бы неплохо передавать в метод  сущность поста, а не id (чтобы использовать SpEL). Может быть, это делается иначе?
Тебе надо валидировать userId авторизации и userId на сущности в бд?
источник

АС

Андрей Силютин in Spring Framework and more
Ага
источник