在 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);
}
我正在使用 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);
}