2017-01-19 5 views
0

Python Flask-RESTfulで可能なら、parsing argumentsの正規表現を使用するのはどうですか?例えばPython Flask-RESTful用のRequestParserの正規表現

documentation for multiple valuesごとに、私は私が私たちのAPIに期待してい次の引数があります説明とパラメータで明らかなように

parser.add_argument('fq', type=str, action='append', help='expecting filter query (fq) (multiple)') 

を、このフィールドは繰り返すことができます。残念ながら、私は次の形式で繰り返し値を返す(つまり、http_build_queryGuzzle経由)PHPライブラリと働いている:解析する

?fq[0]=foo&fq[1]=bar&fq[2]=baz 

fqパラメータの数が不明で、それのことができるようにするために非常に重要になります、フォームfq[#]で何かをキャプチャbrackted []サフィックスをドロップし、args辞書にfqリストにそれらすべてを追加します

parser.add_argument('(fq)\[[0-9]+\]', type=str, action='append', help='expecting filter query (fq) (multiple)') 

:正規表現のパーサ、と同類何かを定義します。

Flask-RESTfulで可能ですか?私はドキュメンテーションで何も見ていない、潜在的にマシュマロのようなものに移動することに関するいくつかのコメントを保存します。

答えて

1

あなたが正規表現の入力を確認するには、次のコードを使用することができます。

from flask_restful import inputs 
... 
..... 
parser.add_argument('fq', type=inputs.regex('^[0-9]+$'), action='append', help='expecting filter query (fq) (multiple)')