page icon

FastAPIのインストールと基本的な使い方

概要


この記事では、PythonのWebフレームワークであるFastAPIの導入と基本的な使い方について紹介します。 FastAPIは高速で、自動的なドキュメント生成、強力な型ヒントのサポートなど、多くの優れた機能を備えています。 さっそく、FastAPIを使って簡単なAPIを作成してみましょう。
 

FastAPIの導入


FastAPIを使用するには、まずPythonのインストールが必要です。 次に、以下のコマンドを使用してFastAPIとuvicorn(ASGIサーバー)をインストールします。
 

APIの作成


まず、Pythonファイル(main.py)を作成し、次のようにコードを記述します。
このコードでは、"/" へのGETリクエストに対して "Hello, FastAPI!" というメッセージを返す簡単なAPIを定義しています。
 

APIの実行


次に、作成したAPIを実行します。 まず、ターミナルでmain.pyを配置している階層に移動します。 例えば、fastApi_sample\src\main.py というファイル配置であれば、 コマンドで でmain.pyのファイル階層に移動します。
次に、 のコマンドを実行します。 これにより、FastAPIがポート8000番で実行されます。
と表示されればOKです。 Webブラウザから http://127.0.0.1:8000http://localhost:8000 にアクセスすると、 APIから "Hello, FastAPI!" というメッセージが表示されます。
ターミナルのlogにもアクセスがされたことが記録されます。
が出ていますが設定していないので問題ないです。 気にせず進みましょう!
これで、インストールとAPIの実行方法は理解できたたと思います。
 

APIのドキュメントの確認


次は、概要でも触れている、自動的なドキュメント生成を確認します。
FastAPIは自動的にAPIのドキュメントを生成します。 ブラウザで http://127.0.0.1:8000/docs にアクセスすると、Swagger UIを使用した対話型のAPIドキュメントが表示されます。 これにより、APIのエンドポイントやパラメーターなどを簡単に確認できます。 docsでは、queryやbodyを設定してAPIを実行できます。 フロントを作成しなくてもこちらで、APIの動作を確認することができます。 ドキュメントの詳しい設定方法は、後述の「基礎的なFastAPIの使い方」で説明しています。
もう一つの自動生成されるAPIとして、redocがあります。 http://127.0.0.1:8000/redoc にアクセスすると、OpenAPI仕様に基づいてAPIドキュメントをレンダリングします。 このドキュメントは、APIのエンドポイント、リクエストおよびレスポンスのスキーマの説明を表示します。
 

基礎的なFastAPIの使い方


まずは、新しいエンドポイントを追加します。
今回は例として、小文字を受け取ったら大文字にして返すAPIを作成します。
先ほど作ったの下に以下のソースを追加します。
の中に”/uppercase”を記載すると、にアクセスされた場合にメソッド内の処理を行います。 今回は、 小文字を大文字に変換する処理を作成しました。 最後にで大文字に変換した文字を返却します。
今回は、string_to_convertに値を渡さなければ動かないので、docsから起動(http://127.0.0.1:8000/docs )して実行します。
docsを確認するとuppercaseが追加されていいます。
まず「Try it out」 を押下して、string_to_convertに適当な小文字を設定します。
「Execute」を押下すると、実行されます。
実行結果は、Responses 内の Server responseに記載されています。
Response bodyに「aaa」→「AAA」に変換されたものが返却されていることが確認できます。
 

ドキュメントの設定方法


今までは、docsやredocを確認しても特にドキュメントには見えなかったと思います。
そこで、ここでは、ドキュメントの設定方法を説明します。
 
APIの説明の設定項目
関数設定項目
summaryAPIのタイトル
descriptionAPIの動作説明
response_model返却される結果のモデル
queryの説明の設定項目
関数設定項目
Query(の先頭queryの必須、任意の設定 (必須: …, 任意: None)
titlequeryのタイトル
descriptionqueryの説明
examplequery値の例
 
docsを表示すると、APIのタイトルやqueryの説明など、ドキュメントらしさが出たと思います。
右側には、の値が表示されています。
 

まとめ


以上で、FastAPIのインストールと基本的な使い方について理解できたと思います。 他にもFastAPIについて記事を書いていますので、是非ご覧ください。
 
 
 
 
ご意見・ご要望は「📩 お問い合わせ」にお願いいたします。
 
 
 
☑ New Post

 
Icons by icons8.com