Как правильно фильтровать и мапить данные при реализации API на Symfony4?

Доброго времени суток!
Возник вопрос, а точнее пару вопросов:
- как правильно валидировать (фильтровать) данные из реквеста без компонента Form
- как мапить данные на сущности без использования JMSSerializerBundle

Немного погуглив, часто натыкался на то что Component Form это не лучьший вариант для использования в API, но никто почему-то не предложил альтернативных решений.

Буду благодарен за любые идеи, ссылки. Спасибо!
  • Вопрос задан
  • 624 просмотра
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
1. symfony/validator
$violations = $this->get('validator')->validate($dto);


2. symfony/serializer
$dto = $this->get('serializer')->deserialize(
    $request->getContent(),
    DTO::class
);


Все это можно красиво обернуть в Action Argument Resolving, т.о. код будет выглядеть что-то вроде
public function editAction(DTO $dto)
{

}

где в $dto уже будет валидный объект
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы