我正在尝试将作为DELETE请求传递给API的参数(从表单)传递到正文中
$allVars = $request->getParsedBody();
但是由于某种原因,当对POST和PUT请求正常工作时,它将为空。
关于此的任何提示吗?
答案 0 :(得分:1)
根据HTTP specification,DELETE
请求正文应被服务器忽略,因为没有“定义的语义”:
DELETE请求消息中的有效负载没有定义的语义; 在DELETE请求上发送有效内容正文可能会导致某些现有内容 拒绝请求的实现。
利用请求正文进行DELETE http请求有点不寻常。许多HTTP客户端库不支持它,因此它迫使开发人员从低级构造请求。另一件事,我猜想某些流行的Web服务器如果将它们用作代理,则会像默认情况下对GET一样削减DELETE请求的主体,因此它需要对其进行附加配置。
我会将它们放在URL路径或URL查询参数中,例如:
DELETE /resource/1234