【Python】FastAPIにおけるクエリパラメータの書き方

  • 2022年2月26日
  • 2023年5月18日
  • python

こんにちは。

野中やすおです。

今回の記事ではFastAPIにおけるクエリパラメータの書き方について学習したいと思います。

FastAPI framework, high performance, easy to learn, fast to …

FastAPI framework, high performance, easy to learn, fast to …

クエリパラメータの概要

パスパラメータではない関数パラメータを宣言すると、それらは自動的に “クエリ” パラメータとして解釈されます。

公式チュートリアルにも記述があるようにFastAPIでは、パスパラメータ(Path Parameter)ではないパラメータを関数として宣言した場合、自動的にクエリパラメータ(Query Parameter)とみなされます

上記は公式そのままのサンプルコードですが、クエリはURL内で ? の後に続くキー・バリューの組み合わせで、 & で区切られます。

上記のURLの場合だとクエリパラメータは、値が0のskip、値が10のlimitになります。これらの値はURL内の一部のため、本来は文字列と解されますが、int型で宣言しているためにパラメータはint型への変換とバリデーションがおこなれるそうです。

パラメータのデフォルト値

クエリパラメータはパスの固定部分ではないということで、オプショナル(必須でない)としたり、デフォルト値をもつことができます。

オプショナルなパラメータ

デフォルト値を None とすることで、オプショナルなクエリパラメータを宣言できるそうです。