Symfony - Платформа Api: редактировать объект if по запросу POST - PullRequest
4 голосов
/ 27 апреля 2020

Я использую API platform с Symfony5, и я создал службу для проверки оператора, если он правильный.

Этот оператор, если он правильный, я хочу изменить существующий объект вместо добавления на запрос POST.

Итак, по запросу POST я создал событие с PRE_WRITE приоритетами событий, и это событие вызывает службу, которая проверяет правильность утверждения, если оно истинно, я редактирую существующий объект.

Все это работает без проблем, но POST-запрос всегда предназначен для добавления нового объекта, поэтому я получаю новую строку в таблице базы данных.

Есть ли какое-либо решение для возврата 200 ответов на объект редактирования?

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Попробуйте добавить ответ на событие kernel.view, например:

....
public function yourEvent(Event $event)
{
   // do your service stuff
   // ...
   $event->setResponse(new Response('ok', 200));

}
0 голосов
/ 29 апреля 2020

Может быть, вам нужно использовать PUT - для изменений.

POST - для создания записи

...