PythonでFlaskを使用しREST APIを構築する

PythonでFlaskを使用しREST APIを構築してみます。

今回はFlaskを用います。このライブラリは、Pythonの標準ライブラリではありませんので、事前にインストールしておく必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■Flaskを使用しREST APIを構築する

では、Flaskを使用しREST APIを構築し、データベースからデータを出力させるスクリプトを書いていきます。

■コード

import json
from flask import Flask

app = Flask(__name__)

@app.route('/')
def test_api():
    return json.dumps({
        'name':'tanaka',
        'email':'test@api_test.com'    })

app.run()

importで標準ライブラリのjsonモジュールと、「from import」でflaskのFlaskを呼び出します。

その後、「Flask(__name__)」でFlaskのインスタンスを作成します。__name__ は現在のPythonモジュールの名前。

作成後、route()デコレータを用いて’/’というルートを作成し、その後、test_api()という関数を定義します。定義後、URLと関数を関連付けます。なお、関数が呼び出された時に実行される処理としては、json.dumps()を用いて、括弧内に引数,パラメータとして渡した辞書をJSON文字列として整形し出力。そしてreturnとして結果を返すものです。

最後にapp.run()を用いてアプリケーションの実行を行います。

■実行・検証

このスクリプトを「f_test_api.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

 * Serving Flask app 'f_test_api' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

実行してみると、上記のメッセージが出力されます。出力後、「http://127.0.0.1:5000/」のURLをコピーし、Webブラウザを起動します。起動後、WebブラウザのアドレスバーにURLを貼り付けてアクセスします。

アクセスすると、今回定義した関数が呼び出され、json.dumps()の括弧内に渡した辞書をJSON文字列として出力させることができました。

コメント

タイトルとURLをコピーしました