Python のWebアプリフレームワーク flask でお手軽WebAPI構築(後編) | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

Python のWebアプリフレームワーク flask でお手軽WebAPI構築(後編)

Flaskの紹介、今回は実践編です

前回、flask の紹介を軽く行いました、今回は、flask を使って、簡単な WebAPI を作ってみようと思います。


では、早速 flask をインストールしてみます。今回は virtualenv を使って環境を構築しています

(flaskdemo) akashi-no-MacBook-Air:flaskdemo furuichitanaka$ pip install flask
(前略)
Successfully installed Jinja2-2.9.6 MarkupSafe-1.0 Werkzeug-0.12.1 click-6.7 flask-0.12.1 itsdangerous-0.24

無事インストールされました。flask 本体以外にもいろいろインストールされました。中でも、HTML テンプレートである jinja2 は、今回は使用しませんが、用途によっては大変便利です。

実際のコード

インストールが終わったら、下記のような内容でinit.pyファイルを作成します。本家のチュートリアルの一番最初のコードを、少し実践的に書き直してみました。
WebAPI のルートにアクセスすると、’Hello flask’という文字列が返ります。/userにgetリクエストを送るとクエリで id を指定した user の json が返ってきます。
下記のコードをみればわかるように、
Flask クラスにある route メソッドにエンドポイントを指定してやるだけで、簡単に WebAPI を作成することができます!

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/')
def index():
   return 'Hello flask'

@app.route('/user')
def user():
   user_id = request.args.get('id')
   return search_user(user_id)
def search_user(user_id):
   # 例えばここに、DBからユーザを取得する処理を書くなどできます
   # 今回はひとまずユーザデータのJSONを固定値で書いてみます
   user = {
    'id': user_id,
    'name': 'Tarou',
    'age': 23
   }
   return jsonify(user)
if __name__ == '__main__':
    app.run()

では立ち上げてみましょう。といってもただ、pythonでinit.pyを実行しするだけですが…

(flaskdemo) akashi-no-MacBook-Air:webpage furuichitanaka$ python init.py
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

立ち上がりましたね。では、アクセスしてみましょう
まずは、ルートからです。

続いて、/userにアクセスしてみます。クエリにidを指定してあげます。

こちらも、無事に json 文字列ができました。

このように、 flask を使えば、簡単に WebAPI を作ることができるので、ぜひ活用してみてください。

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

グラッドキューブは
「ISMS認証」を取得しています。

認証範囲:
インターネットマーケティング支援事業、インターネットASPサービスの提供、コンテンツメディア事業

「ISMS認証」とは、財団法人・日本情報処理開発協会が定めた企業の情報情報セキュリティマネジメントシステムの評価制度です。

いますぐ無料で
お試しください。

SiTest の革新的な機能を
お試しいただけます。
利用規約

お名前【必須】
メールアドレス【必須】
電話番号【必須】