3

Content-Typeリクエストのヘッダーに応じて、リクエストボディを処理する適切な方法は何ですか?

XML、JSON、およびフォーム エンコードされた要求パラメーターをサポートする RESTful サービスを実装する必要がありますが、要求パラメーターを抽出するクリーンな方法が見つからないようです。

これはミドルウェアを使用する必要がありますか? Request オブジェクトを拡張する必要がありますか?

これを行うパッケージは見つかりませんでした。フラスコで RESTful サービスを作成するためのかなり一般的なタスクのようです。

4

2 に答える 2

2

Content-Type が応答に使用されるため、おそらく Accept ヘッダーを意味していました。ここには 3 つの選択肢があります。

  1. Accept ヘッダースニペットの処理で説明されているように、自分でビルドします。
  2. Flask-RESTful 拡張機能を使用します (ドキュメントのコンテンツ ネゴシエーションの部分を参照してください)。
  3. このケースを処理するために特別に構築されたFlask-Pushrod拡張機能を使用します。
于 2012-12-25T10:15:20.623 に答える
0

ここ@app.before_requestに示すように使用できます。リクエストパラメータの正規化が完了したら、次のように保存できます。g

from flask import g
from flask import request
...


@app.before_request
def before_request():
    # normalize params based on Content-Type
    g.params = normalized_params
于 2012-12-28T00:59:09.860 に答える