Мне интересно, является ли это потенциальной проблемой/улучшением для платформы API?
Как вы знаете, платформа API имеет процессоры состояний
Но если вы используете обработчики состояний, проверка не будет работать.
Вот мой код:
public function process(mixed $data, Operation $operation, array $uriVariables = [], array $context = [])
{
if ($operation instanceof Post && $data->getPlainPassword()) {
$hashedPassword = $this->passwordHasher->hashPassword(
$data,
$data->getPlainPassword()
);
$data->setPassword($hashedPassword);
$data->eraseCredentials();
}
return $this->processor->process($data, $operation, $uriVariables, $context);
}
В моей сущности User я использую ограничение #[UniqueEntity('email')].
Поэтому, если я не буду использовать Symfony Validator в этом процессоре, возникнет исключение будет брошен.
An exception occurred while executing a query: Duplicate entry 'new_user@gtest.com' for key 'user.UNIQ_8D93D649E7927C74'
Итак, решение следующее:
$errors = $this->validator->validate($data);
if (count($errors) > 0) {
throw new ValidationException($errors);
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... eprocessor