在 Apigility 中,如何访问 DELETE 请求的正文内容

In Apigility, how do I access a DELETE request's body content

我正在使用 Apigility 构建 API。我绑定到后端,删除资源需要额外的数据,而不仅仅是从 URL 中获取的资源 ID。所以我需要从 DELETE 请求的正文中读取一个参数。

虽然在 POST 请求的 create() 方法中我可以简单地访问 $data 参数,但这不适用于 DELETE 方法,因为只提供了 $id

在我的资源 类' delete() 方法中访问 $this->getEvent()->getRequest();,我看到请求的正文内容(表单数据)被包装到一个名为 [=22] 的 属性 中=] - 作为一个字符串。

有人可以指出我缺少什么来访问正文的键值对吗?

Apigility 不希望将任何数据传递给 DELETE 请求,因此它不会将其传递给事件参数。您可以按照发现的方式从请求中检索它,然后自己执行 json_decode。

public function delete($id)
{
    $body = $this->getEvent()->getRequest()->getContent();
    $data = json_decode($body, true);
}