本記事では、PythonとFlaskを使ってWebAPIを作成する方法を紹介します。
PythonでバックエンドAPIを開発する方法を知りたい!
と、思ってる方におすすめです。
この記事では、以下のことを紹介してます。
- Flaskの開発環境の構築方法
- FlaskでWebAPIを作成する方法
- 作成したWebAPIのテスト
本記事では、Pythonの開発環境の構築に始まり、簡単なバックエンドAPIを作成する方法を手順を追って紹介します。
Flaskの開発環境構築
Flaskを動かすための環境を構築します。Flaskの導入前にPythonが必要ですので、Pythonのインストールについても簡単に紹介します。
Pythonのインストール
PythonはFlaskを動かすための基盤となる言語です。最新版のPythonをインストールすることで、セキュリティの強化と最新のライブラリが利用可能になります。インストール手順は簡単で、公式サイトからダウンロードしたインストーラーを実行するだけです。
Pythonのインストーラは以下からダウンロードできます。
仮想環境の作成
仮想環境とは、プロジェクト毎(作成するアプリケーション毎)に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にアクセスがあったときに
関数を呼び出すようFlaskに指示します。show_params
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アプリケーションが起動し、デフォルトでlocalhost
の5000
番ポートで待ち受け状態になります。
これにより、開発中の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などと組み合わせることで、簡単にサービスを公開できます。
本記事が皆様の参考となりましたら幸いです。
コメント