[英]Symfony2 + FOS RestBundle: Filter/clear JSON request before applying ParamConverter
[英]Symfony2 FOS RestBundle Test
我正在嘗試為使用FOS Rest Bundle創建的REST API編寫一些功能測試。 問題是,當我使用Symfony \\ Component \\ BrowserKit時,symfony會拋出以下錯誤:
我運行的代碼是:
$client = static::createClient();
$client->request('GET','/account');
當我從瀏覽器運行請求時,它工作正常。
這是控制器:
/**
* Get channel by ID
* @Secure(roles="ROLE_USER")
* @RestView()
* @ApiDoc(
* resource=true,
* description="Get channel by id",
* section="Channel",
* output="Channel"
* )
*/
public function getAction(Channel $channel)
{
return array('channel' => $channel);
}
因此,在測試場景中,而不是返回JSON嘗試加載模板。
您應該使用$client-request()
方法的$server
參數將Accept
標頭設置為application/json
。 FOSRestBundle
只有在收到相應的Accept
標頭時才會返回JSON
,否則它將搜索與控制器對應的模板。
$client->request('GET', '/account', array(), array(), array('HTTP_ACCEPT' => 'application/json'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.