Symfony-Api平台:在POST请求时编辑对象if语句



我将API platformSymfony5一起使用,并创建了一个服务来验证语句是否正确。

如果这句话是正确的,我想更改一个现有的对象,而不是在POST请求中添加。

因此,在POST请求时,我创建了一个具有PRE_WRITE事件优先级的事件,该事件调用一个服务,该服务验证该语句是否正确。如果为true,我编辑一个现有对象。

所有这些都能正常工作,没有任何问题,但POST请求总是用于添加新对象,因此,我在数据库表上得到了一行新行。

有没有解决方案,在编辑对象上返回200个响应?

尝试向kernel.view事件添加一个响应,如:

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

也许您需要使用PUT-进行更改。

POST-创建记录

最新更新