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

时间:2015-07-06 10:17:30

标签: php rest zend-framework2 apigility

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

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

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

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

1 个答案:

答案 0 :(得分:1)

Apigility不希望将任何数据传递给DELETE请求,因此它不会将其传递给事件参数。您可以在发现时从请求中检索它并自己执行json_decode。

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