⑦Pythonプログラミング

FlaskでWebアプリとAPIを作る【Python Webフレームワーク入門】

⑦Pythonプログラミング
記事内に広告が含まれています。

PythonでFlaskを使ってWebアプリとAPIを作ります。数十行のコードでWebサーバーが動くのがFlaskの魅力です。

Flaskのインストールと最小構成

pip install flask
# app.py
from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, Flask!"

@app.route("/hello/")
def hello(name):
    return f"こんにちは、{name}さん!"

if __name__ == "__main__":
    app.run(debug=True)
python app.py
# http://localhost:5000 にアクセス

REST APIを作る

tasks = []

@app.route("/api/tasks", methods=["GET"])
def get_tasks():
    return jsonify(tasks)

@app.route("/api/tasks", methods=["POST"])
def add_task():
    data = request.get_json()
    task = {"id": len(tasks) + 1, "title": data["title"]}
    tasks.append(task)
    return jsonify(task), 201

FlaskとFastAPIの比較

比較項目FlaskFastAPI
学習コスト低いやや高い
パフォーマンス普通非常に高い(非同期対応)
型ヒント任意必須(自動バリデーション)
ドキュメント自動生成なしあり(Swagger UI)
向いている用途シンプルなWebアプリ本格的なAPI開発

まとめ

  • FlaskはデコレーターでURLルーティングを定義する
  • jsonify()でJSON形式のレスポンスを返せる
  • request.get_json()でPOSTのJSONボディを取得できる
  • 本格的なAPI開発にはFastAPIも選択肢になる

コメント

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