Я использую FOSRestBundle в Symfony2 для предоставления REST-сервиса.Symfony2 FOSRestBundle поля возвращаемого объекта, содержащиеся в форме
В настоящее время мой контроллер возвращает объект при запросе ресурса (например, /users/40
). Интерфейс содержит форму, которая позволяет управлять этим ресурсом и отправляет его с помощью PUT. Контроллер использует форму для обработки данных.
Моя проблема заключается в том, что форма имеет меньше полей, чем весь объект (id
и password_hash
- хорошие примеры). Я пришел к выводу, что отправка всего объекта клиенту - плохая идея. Вместо этого я хочу, чтобы FOSRestBundle отправлял только поля сущностей, которые доступны в форме.
Так что я просто попытался:
return $this->createForm(UserType::class, $entity);
Структура JSON вернулась с сервера FOSRestBundle выглядит очень хорошо. Но, к сожалению, он не содержит значений.
Конечно, нет - форма не связана. И на данный момент нет смысла связывать данные. Поэтому мне нужно найти другое решение.
Этот случай использования будет очень распространен в моих приложениях. Поэтому я задаюсь вопросом, не было ли простого/стандартного способа достичь этого.
(PS Я использую Угловое JS в веб-интерфейсе. Я просто прикрепить сущности ресурс JSON к объему и форме использования Symfony шаблонов для создания полей формы, которые автоматически привязанные к нужному объекту объема)