我正在使用Apigility构建API。我绑定到后端,删除资源需要额外的数据,而不仅仅是从URL获取的资源ID。所以我需要读一个DELETE请求主体的参数。
在POST请求的create()
方法中,我可以简单地访问$ data参数,但这不适用于DELETE方法,因为只提供了$id
。
在我的资源类中访问$this->getEvent()->getRequest();
' delete()
方法,我看到请求的正文内容(表单数据)包含在名为' content'的属性中。 - 作为一个字符串。
有人能指出我缺少什么来访问正文的键值对吗?
答案 0 :(得分:1)
Apigility不希望将任何数据传递给DELETE
请求,因此它不会将其传递给事件参数。您可以在发现时从请求中检索它并自己执行json_decode。
public function delete($id)
{
$body = $this->getEvent()->getRequest()->getContent();
$data = json_decode($body, true);
}