2014-03-04 27 views
1

的Symfony2的FOSRestBundle要求我有以下方法与注释:QueryParam

/** 
* Search on players. 
* 
* @ApiDoc(
* output = "bbb\FrontendBundle\Entity\Player", 
* statusCodes = { 
*  200 = "Returned when successful", 
*  404 = "Returned when no result was found" 
* } 
*) 
* 
* @Annotations\QueryParam(name="searchterm", requirements="[a-z]+", nullable=false, description="The term to search about in players.") 
* @Annotations\QueryParam(name="limit", requirements="\d+", default="3", nullable=true, description="How many results to return.") 
* 
* @param Request $request the request object 
* @param $searchterm 
* @param $limit 
* @return array 
* @throws NotFoundHttpException when no result was found 
* 
* @Method("GET") 
* @Route("/search", name="_api_player_search", options={"expose"=true}) 
*/ 
public function searchPlayerAction(Request $request, $searchterm, $limit) 
{ 
} 

的问题是,如果我给例如“阿龙”作为搜索关键词(api/player/search?searchterm=Aaron)变量$搜索关键词为空。如果我尝试api/player/search?searchterm=aaron一切工作正常。我猜问题是QueryParam注释的requirements="[a-z]+"属性。我如何配置大写charakters也是允许的?

(与空格相同)

谢谢你的帮助!

回答

1

尝试改变requirements="[a-z]+"requirements="[a-zA-Z]+"

+0

OK不错,帮助大写charakters。例如空间呢? 谢谢你的回答! – humpdi

+2

@humpdi所以你可以在它里面加上空格,'[a-zA-Z \ s] +' – xdazz

+0

是的,我发现了它,它足以添加一个空格,所以它看起来像'requirements =“[a- zA-Z] +“' – humpdi