API開発プログラミング2024.04.22近年、APIの開発にはPythonが広く使われています。その中でも、FastAPIはPythonの標準的なウェブフレームワークであるFlaskやDjangoに比べ、より高速で効率的なAPI開発を可能にします。APIを開発する方法を、サンプルコードを交えて解説します。ReDoc)非同期処理に対応し、高いパフォーマンスを発揮OAuth2、JWTなどの認証方式をサポート以上が、FastAPIの主な特徴です。これらの特徴により、FastAPIは高速で効率的なAPI開発を可能にします。開発環境の準備まず、PythonとFastAPI、およびASGIサーバーであるuvicornをインストールします。uvicornFastAPIは、ASGIサーバーの上で動作します。ASGIは、非同期処理に対応したPythonのウェブサーバーインターフェースです。uvicornは、FastAPIを実行するために推奨されているASGIサーバーの一つで、高速で軽量な特徴があります。以下は、FastAPIを使った基本的なAPIの例です。q}このコードでは、以下の2つのエンドポイントを定義しています。ルートパス(”/”)アイテムIDを受け取るパス(”/items/{item_id}”)APIサーバーの起動APIサーバーを起動するには、以下のコマンドを実行します。--reloadここで、mainは、FastAPIのインスタンスが定義されているPythonファイルの名前(この例ではmain.py)です。–reloadオプションを指定すると、コードの変更を検知して自動的にサーバーが再起動します。APIサーバーにアクセスできます。Chromeでアクセスすると、次のように表示されます。UI)を確認できます。UIは、これはこれでかなり便利です。実際のAPIでは、データベースとの連携やリクエストボディの受け取りなど、より複雑な処理が必要になります。以下は、Pydanticを使ってリクエストボディを定義し、APIでJSONデータを受け取る例です。エンドポイントがPOSTリクエストを受け付けるように定義しています。クラスのインスタンスをリクエストボディとして受け取り、JSONデータが自動的に解析・バリデーションされます。cURLを使ってテストする際は、以下のコマンドを用います。UIで確認できるコマンドになります。Windowsの場合だとPowerShellで確かめたいですよね。その場合は、以下を実行します。$body実行した結果は、以下。API側のログにもアクセスの形跡があります。APIを開発できます。uvicornは、FastAPIを実行するための高速で軽量なASGIサーバーです。本記事で紹介した基本的な使い方をマスターすれば、より複雑なAPIの開発にも応用できるでしょう。FastAPIの公式ドキュメントには、さらに多くの機能や使用例が紹介されているので、ぜひ参考にしてみてください。コピーself_developmentをフォローするself_developmentジコログ関連記事プログラミング【Python】WebスキルでGUIアプリを開発できるpywebview「PythonアプリをWebのスキルで開発したい」「PythonでGUIアプリを開発したい」「PythonアプリでスマホアプリのWebviewみたいなことをできないか?」このような場合には、pywebviewがオススメです。この記事では、pywebviewについて解説しています。型安全性と再利用性を高めるDartのジェネリクスについてわかりやすくまとめています。型安全性とコードの再利用性を高めるための基本から応用まで、豊富なコード例を交えて実践的に解説します。ジェネリクスの最新動向も紹介。Pythonの文字データを扱うための強力なライブラリPythonのunicodedataモジュールは、Unicode文字の様々な情報を提供します。文字のカテゴリや名前、数値への変換などの機能を使って、テキストデータの処理や分析を効率的に行うことができます。プログラミング【Python】NoSQLデータベースTinyDBのインストール「NoSQLをPythonで利用したい」「ドキュメント指向のデータベースを導入したい」「事情により、MongoDBを利用することができない・・・」このような場合には、TinyDBがオススメです。この記事では、TinyDBについて解説しています。プログラミングMoviePyを使ってPythonで動画をGIFアニメに変換するPythonで動画からGIFアニメを作る方法は、複数存在しています。その中でも、MoviePyを使った方法がおススメです。MoviePyには、動画からGIFアニメを作成する関数が用意されています。この記事では、MoviePyを使って動画からGIFアニメを作る方法を解説しています。プログラミング【Python】ファイル・フォルダ更新を監視するWatchdogのインストールファイル・フォルダ更新を監視するプログラムを自作していませんか?車輪の再発明はやめて、先人の知恵を利用していきましょう。Python用ライブラリのWatchdogを使えば、ファイル・フォルダ更新の監視が実現できます。この記事では、Watchdogについて解説しています。プログラミングfoliumをインストールしてPythonだけで地図アプリを作成する「PythonのスキルだけでWeb地図アプリケーションを作成できる」この嘘のような本当の話は、foliumを使えば実現可能です。この記事では、foliumについて解説しています。foliumとJupyterLabを組み合わせれば、データ分析の結果を地図上でプレゼン可能です。プログラミングtkinterでボタンを表示させる【PythonでGUIアプリ】PythonでGUIアプリを作成する方法を解説しています。今回は、tkinterでボタンを表示させる方法を中心にPythonでGUIアプリを開発する方法を説明しています。今回の内容を理解できれば、ボタンでもラベルでもテキストボックスでも何でも表示できるようになります。DiffusionのNSFWコンテンツ対策を無効化する方法2022.08.262022.09.30PyTorchのインストール失敗時にチェックすべきこと2022.03.082022.03.22self_developmentプロフィールself_developmentをフォローするタイトルとURLをコピーしました。