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

Symfony - Api Platform : Edit object if statement on POST request

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

如果此声明正确,我想更改现有对象而不是添加 POST 请求。

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

一切正常,没有任何问题,但是 POST 请求总是用于添加新对象,因此,我在数据库中得到了一个新行 table.

是否有任何解决方案,可以解决 return 编辑对象上的 200 个响应?

尝试添加对 kernel.view 事件的响应,例如:

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

}

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

POST- 创建一条记录