Symfony2-如何在测试RESTAPI时获取自定义头
我正在测试Symfony2-如何在测试RESTAPI时获取自定义头,rest,symfony,testing,http-headers,Rest,Symfony,Testing,Http Headers,我正在测试REST-API。在我的DefaultTestController $client = static::createClient(); $crawler = $client->request( 'GET', "someurl", [], [], [ 'HTTP_X_AUTH_TOKEN' => $clientAuthToken, ] ); 在我的
REST-API
。在我的DefaultTestController
$client = static::createClient();
$crawler = $client->request(
'GET',
"someurl",
[],
[],
[
'HTTP_X_AUTH_TOKEN' => $clientAuthToken,
]
);
在我的REST控制器中
我正在等待获取x-auth-token
标题
$request = Request::createFromGlobals();
$authToken = $request->headers->get('x-auth-token');
但我没有。我做错了什么?在您的REST-CONTROLLER中,您可以访问当前请求,并将其传递给方法,如下所示:
public function someAction(Request $request)
{
$authToken = $request->headers->get('x-auth-token');
}
而不是创建一个新的空的
希望这有帮助我忘了说,我正在使用FOSRestBundle。当我对本机应用程序(而不是REST)执行相同的操作时,一切都正常。但是当我通过FOSRestBundle测试restapi请求时,我丢失了我的自定义头。是的,你完全正确!我不应该使用CreateFromGlobal()来获取请求对象,但应该使用from action one。发生这种情况是因为该控制器的非web调用,例如测试,就像我的例子一样。