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), 201FlaskとFastAPIの比較
| 比較項目 | Flask | FastAPI |
|---|---|---|
| 学習コスト | 低い | やや高い |
| パフォーマンス | 普通 | 非常に高い(非同期対応) |
| 型ヒント | 任意 | 必須(自動バリデーション) |
| ドキュメント自動生成 | なし | あり(Swagger UI) |
| 向いている用途 | シンプルなWebアプリ | 本格的なAPI開発 |
まとめ
- FlaskはデコレーターでURLルーティングを定義する
- jsonify()でJSON形式のレスポンスを返せる
- request.get_json()でPOSTのJSONボディを取得できる
- 本格的なAPI開発にはFastAPIも選択肢になる



コメント