我基于Zend Framework 3制作REST API服务。我一直在处理PUT请求。让它像这样:
PUT /document/14
Request parameters are: {
token: '.. some string here ..',
name: '....',
}
问题是,我甚至无法获得“令牌”,因为$ this-> getRequest() - > getQuery()和$ this-> getPost()都不包含任何参数所有
我见过很少的建议,比如注册Zend_Controller_Plugin_PutHandler,但我没有在Zend Framework 3中找到这样的类。
答案 0 :(得分:1)
你需要获取JSON数据,并且没有params帮助,所以快速黑客将是:
// In your Controller action
$content = $this->getRequest()->getContent();
$data = json_decode($content, true);
var_dump($data); // here you will have your json as array
这有效,但更好的方法是使用AbstractRestfulController。 扩展它,您将自动在方法更新($ id,$ data)中注入$ id和$ data。您还将拥有RESTful API的所有其他方法。
您应该检查该类的实现以获取更多信息,尤其是方法jsonDecode