Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com> Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com> Co-authored-by: Maruo.S <raspi-maru2004@outlook.jp>
2.0 KiB
クッキーのパラメータ
クッキーのパラメータは、QueryやPathのパラメータを定義するのと同じ方法で定義できます。
Cookieをインポート
まず、Cookieをインポートします:
{* ../../docs_src/cookie_params/tutorial001_an_py310.py hl[3] *}
Cookieのパラメータを宣言
次に、PathやQueryと同じ構造を使ってクッキーのパラメータを宣言します。
最初の値がデフォルト値で、追加の検証パラメータや注釈パラメータをすべて渡すことができます:
{* ../../docs_src/cookie_params/tutorial001_an_py310.py hl[9] *}
/// note | 技術詳細
CookieはPathとQueryの「姉妹」クラスです。また、同じ共通のParamクラスを継承しています。
しかし、fastapiからQueryやPath、Cookieなどをインポートする場合、それらは実際には特殊なクラスを返す関数であることを覚えておいてください。
///
/// info | 情報
クッキーを宣言するには、Cookieを使う必要があります。なぜなら、そうしないとパラメータがクエリのパラメータとして解釈されてしまうからです。
///
/// info | 情報
ブラウザがクッキーを特殊な方法で裏側で扱うため、JavaScript から簡単には触れられないことを念頭に置いてください。
/docs の API docs UI に移動すると、path operation のクッキーに関する documentation を確認できます。
しかし、データを 入力 して「Execute」をクリックしても、docs UI は JavaScript で動作するためクッキーは送信されず、値を何も書かなかったかのような error メッセージが表示されます。
///
まとめ
クッキーはCookieを使って宣言し、QueryやPathと同じ共通のパターンを使用する。