Я строю REST API с FOSRestBundle в Symfony2. Я использую формы для создания и обновления объектов с помощью Doctrine2. Все работает нормально, если я отправляю все поля формы. Пример:Symfony2 REST API - Частичное обновление
{"first_name":"Pi","last_name":"Wi"}
Лицо вставлено нормально, но теперь я хочу обновить только фамилию.
{"last_name":"Wi"}
Проблема заключается в том, что первое имя пустое после обновления, потому что форма обновляет объект с «нулевым» значением (потому что не дано). Можно ли просто обновить фамилию и игнорировать первое имя?
из документов: «Метод' submit() 'устарел и будет удален в Symfony 3.0" – NDM
@NDM, можете ли вы дать точную ссылку? Единственное, что я нашел на 'submit()', это то, что >> Передача запроса непосредственно для отправки() по-прежнему работает, но устарела и будет удалена в Symfony 3.0. См. Http://symfony.com/doc/current/cookbook/form/direct_submit.html#passing-a-request-to-form-submit-deprecated – kix
Спасибо! Но, это устарело ;-) Однако вы дали мне правильные ключевые слова, чтобы выполнить новый поиск Google, и я нашел это в StackOverflow: http://stackoverflow.com/questions/19793767/does-symfony-2-support-partial -форма связывания. Вы можете использовать handleRequest и убедиться, что метод запроса «PATCH». Поскольку большинство браузеров не отправляют запрос PATCH, вы можете переопределить метод, используя '_method'. Тогда это работает из коробки! :-) Я принимаю ваш ответ, потому что это лучший из двух. –