2017-08-02 3 views
0

私はsymfonyコントローラでQueryParamを使用しようとしています。空の値を持つSymfony QueryParam

問題は、クエリで空のパラメータを受け入れたくないという問題です。しかし、私は

@REST\QueryParam(name="test" , description="The test", requirements="\w+", strict=true, nullable=false) 

とQueryParamを定義し、私はそれはまだ働いているmysite.com/test=を使用してWebサービスを呼び出すようにしようと。

paramは空であるかない

はありがとうございます場合、私は、コード内のテストを行わず、要求に空のparamを拒否するために何をすべきか

答えて

0

不気味十分にテストする場合は検証がで動作していないようでした単にtrueの設定param_fetcher_listener、私はforceを使用する場合、すべてが突然働い:

# config.yml 
fos_rest: 
    param_fetcher_listener: force 

とコントローラで:

/** 
* @QueryParam(name="test" , description="The test", requirements="[a-zA-Z]+", strict=true, nullable=false, allowBlank=false) 
*/ 
public function indexAction($test) 
{ 
    // replace this example code with whatever you need 
    return new JsonResponse($test); 
} 

私の例であり、複数の検証だとだけ?test=aが動作することに注意してください。いいえtest?test=および?test=1は、特定の理由ですべて機能しません。

、誰もがそれがparam_fetcher_listener: trueで動作するように取得する方法を知っている場合、私は好奇心:)

またforce

+0

を使用する意味のドキュメント(https://symfony.com/doc/master/bundles/FOSRestBundle/param_fetcher_listener.html)を参照してくださいは、あなたの答えを 問題をいただき、ありがとうございます'allowBlank = false'を追加しようとすると、エラーが発生します。symfony 2.8を使用しています。 – Hussein

+0

最後に動作しています。/ restバンドルを1.5にアップデートします:)すべてが動作しています:) – Hussein

関連する問題