PythonとFlaskでWebAPIを作成する

アプリケーション開発

本記事では、PythonとFlaskを使ってWebAPIを作成する方法を紹介します。

Z-A-K-I
Z-A-K-I

PythonでバックエンドAPIを開発する方法を知りたい!

と、思ってる方におすすめです。

この記事では、以下のことを紹介してます。

  • Flaskの開発環境の構築方法
  • FlaskでWebAPIを作成する方法
  • 作成したWebAPIのテスト

本記事では、Pythonの開発環境の構築に始まり、簡単なバックエンドAPIを作成する方法を手順を追って紹介します。

Flaskの開発環境構築

Flaskを動かすための環境を構築します。Flaskの導入前にPythonが必要ですので、Pythonのインストールについても簡単に紹介します。

Pythonのインストール

PythonはFlaskを動かすための基盤となる言語です。最新版のPythonをインストールすることで、セキュリティの強化と最新のライブラリが利用可能になります。インストール手順は簡単で、公式サイトからダウンロードしたインストーラーを実行するだけです。

Pythonのインストーラは以下からダウンロードできます。

Welcome to Python.org

仮想環境の作成

仮想環境とは、プロジェクト毎(作成するアプリケーション毎)にPythonの実行環境を分離するためのツールです。実行環境を分離することで、異なるプロジェクト間でのライブラリのバージョン衝突を防ぐことができます。

仮想環境は、以下のコマンドでプロジェクトディレクトリ内に構築できます。

python -m venv venv

仮想環境のアクティベーション

仮想環境を有効にすることで、その環境内でインストールされたパッケージとPythonインタープリタを使用することができます。

上で作成した仮想環境を有効化するには、以下のコマンドを実行します。

source venv/bin/activate  # Unix系OSの場合
venv\Scripts\activate  # Windowsの場合

Flaskのインストール:

仮想環境をアクティベートした状態で、対象のプロジェクトにFlaskをインストールします。

インストールには以下コマンドを実行します。

pip install Flask

バックエンドAPIの作成

次に、簡単なAPIをFlask上で作成していきます。

アプリケーションファイルの作成

app.pyファイルを作成し、以下のソースコードを貼り付けます。

このソースコードは、/show_params エンドポイントにGETリクエストを送信すると、クエリパラメータを受け取り、サーバーのコンソールに表示し、JSON形式でクライアントに返す簡単なFlask WebAPIです。

debug=Trueオプションを付けることで、コードに変更があった際にサーバが自動的に再起動し、エラーが発生した場合にはデバッグ情報が表示されます。

debug=Trueは開発中に役立ちますが、本番環境ではセキュリティ上の理由からdebugモードを無効にすることをお勧めします。

app.pyはFlaskアプリケーションのエントリーポイントです。ここにルーティングとビュー関数を定義します。

@app.route('/show_params')は、http://127.0.0.1:5000/show_paramsにアクセスがあったときにshow_params関数を呼び出すようFlaskに指示します。

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/show_params', methods=['GET'])
def show_params():
    # リクエストからパラメータを取得
    args = request.args
    # パラメータを画面に表示(実際のプロダクションコードでは、フロントエンドにデータを送信するためのテンプレートを使用します)
    print(args)
    # パラメータをそのままレスポンスとして返す
    return jsonify(args)

if __name__ == '__main__':
    app.run(debug=True)

Flaskの実行

Flask上で作成したAPIを実行する方法を紹介します。

Flaskアプリケーションの起動

以下のコマンドを実行すると、Flaskアプリケーションが起動し、デフォルトでlocalhost5000番ポートで待ち受け状態になります。

これにより、開発中のAPIをテストすることができます。

flask run

バックエンドAPIのテスト

ブラウザでhttp://localhost:5000/show_params/test=valueのように実行すると、画面上にtestというリクエストパラメータの値 value というレスポンスが返ってきます。

レスポンスが帰ってこれば、Flask上でバックエンドAPIが正しく動作しています。

まとめ

PythonとFlaskでWebAPIを作成する方法のまとめ

本記事では、PythonとFlaskを使用してWebAPIを作成する方法について紹介しました。

FlaskはPythonで書かれた軽量なウェブフレームワークで、簡単にウェブアプリケーションやAPIを構築することができます。

本記事で作成したアプリケーションをAWS Fargateなどと組み合わせることで、簡単にサービスを公開できます。

本記事が皆様の参考となりましたら幸いです。

この記事を書いた人
z_a_k_i

z_a_k_iと申します。

富山でITエンジニアとして働いています。
0歳児と3歳児を持つ30代メンズです。

このブログでは、以下の内容を紹介しています。

 ⚫︎アプリケーション開発
 ⚫︎富山県の情報発信

皆様に役立つ内容を紹介できるよう精進していきますので、
どうぞよろしくお願いします。

z_a_k_iをフォローする
アプリケーション開発

コメント