создал класс "сырого" запроса, обложил его Assert-ами, вопрос: как и где мне перехватить эти Assert-ы, чтобы отдать клиенту ошибку API, а не исключение этого самого Assert-а? Использовал подход, описанный в https://kvashnin.github.io/blog/using-request-dto-in-symfony/
вам нужен аргумент ресолвер, который из симфони-реквеста соберет вашу ДТО и дернет валидатор
Похоже, что он у меня есть ) Но Assert-ы кидают исключения.. Где их перехватывать?
код на скрине удивительно похож на мой =) https://github.com/oxidmod/wisebits-test/blob/master/app/src/Request/RequestValueResolver.php а вот так я ошибки валидатора обрабатываю https://github.com/oxidmod/wisebits-test/blob/master/app/src/Events/KernelEventSubscriber.php
знакомое тестовое задание
наверно же всем одинаковое раздают =)
А все же - вот у меня есть различные Assert-ы на разные поля. Как мне сделать карту, что если на это поле сработал этот Assert - то код ошибки такой-то, описание такое-то, вернуть в json клиенту? Обычно где это делается? Список ошибок он так и останется в resolve() валидатора, получается?
Похоже, в вашем коде нашел ответ )
тебе валидатор весь список ошибок возвращает. В каком поле и какая ошибка, дальше уже твое дело что и как с этим делать
Обсуждают сегодня