Мне интересно, является ли это потенциальной проблемой/улучшением для платформы 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
Проверка платформы API не работает при использовании StateProcessor ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1714971819
Anonymous
[b]Мне интересно, является ли это потенциальной проблемой/улучшением для платформы API?[/b]
Как вы знаете, платформа 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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78434624/api-platform-validation-doesnt-work-when-using-stateprocessor[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия