我有一个基本的silex应用程序,我尝试使用HTTPie对其进行测试。但是使用以下方法发布时:
http POST http://localhost:1337 data="hello world"
[C0,我通过以下方式从Request对象获得的]
data
将始终为空。这是什么问题?
这是一个httpie使用问题,因为$data = $request->request->get('data');
标志是必需的,因为silex要求对参数进行形式编码,而HTTPie的默认设置是传递JSON对象。
form
只是为了澄清kOpernikus所说的,当您使用httpie发出POST请求时,请使用以下语法:
$ http --form POST http://localhost:1337 data="hello world"
HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Wed, 14 Oct 2015 15:04:09 GMT
Host: localhost:1337
X-Powered-By: PHP/5.5.9-1ubuntu4.13
{
"message": "hello world"
}