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文字列として出力させることができました。
コメント