flask-api-development について
Flask で REST API や軽量マイクロサービスを構築する開発者向けのスキルです。モジュール構成、データベースアクセス、認証、入力検証、エラー処理を扱います。
主な機能
- 01Blueprint による API 構成
- 02SQLAlchemy モデルとデータベースアクセス
- 03JWT 認証
- 04リクエスト検証とエラー処理
活用シーン
- 01Flask REST API の構成
- 02エンドポイントへの JWT 認証の追加
- 03API ルートとリレーショナルデータベースの接続
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill flask-api-developmentインストール後、Claude Code で/flask-api-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/application-factory-and-configuration.mdauthentication-and-jwt.mdblueprints-for-modular-api-design.mddatabase-models-with-sqlalchemy.mdflask-application-setup.mdrequest-validation.mdscripts/validate-api.shtemplates/api-scaffold.yaml詳細
Flask API 開発
目次
概要
モジュール化のためのブループリント、ORM のための SQLAlchemy、JWT 認証、包括的なエラー処理、適切なリクエスト検証を活用し、REST の原則に従った効率的な Flask API を作成します。
使用する場面
- Flask で RESTful API を構築する場合
- 最小限のオーバーヘッドでマイクロサービスを作成する場合
- 軽量な認証システムを実装する場合
- 適切な検証を備えた API エンドポイントを設計する場合
- リレーショナルデータベースと連携する場合
- リクエスト/レスポンス処理システムを構築する場合
クイックスタート
最小限の動作例:
# app.py
from flask import Flask, request, jsonify
from flask_cors import CORS
from flask_sqlalchemy import SQLAlchemy
from flask_jwt_extended import JWTManager
import os
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = os.getenv('DATABASE_URL', 'sqlite:///app.db')
app.config['JWT_SECRET_KEY'] = os.getenv('JWT_SECRET_KEY', 'dev-secret')
app.config['JSON_SORT_KEYS'] = False
db = SQLAlchemy(app)
jwt = JWTManager(app)
CORS(app)
# Request ID middleware
@app.before_request
def assign_request_id():
import uuid
request.request_id = str(uuid.uuid4())
# Error handlers
@app.errorhandler(400)
def bad_request(error):
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| Flask アプリケーションのセットアップ | Flask アプリケーションのセットアップ |
| SQLAlchemy によるデータベースモデル | SQLAlchemy によるデータベースモデル |
| 認証と JWT | 認証と JWT |
| モジュール化された API 設計のためのブループリント | モジュール化された API 設計のためのブループリント |
| リクエスト検証 | リクエスト検証 |
| アプリケーションファクトリーと設定 | アプリケーションファクトリーと設定 |
ベストプラクティス
✅ DO
- モジュール化にはブループリントを使用します
- JWT による適切な認証を実装します
- すべてのユーザー入力を検証します
- データベース操作には SQLAlchemy ORM を使用します
- 包括的なエラー処理を実装します
- コレクションエンドポイントにはページネーションを使用します
- エラーと重要なイベントをログに記録します
- 適切な HTTP ステータスコードを返します
- CORS を適切に実装します
- 設定には環境変数を使用します
❌ DON'T
- シークレットをコードに保存しないでください
- 共有状態にグローバル変数を使用しないでください
- データベーストランザクションを無視しないでください
- 検証せずにユーザー入力を信頼しないでください
- 本番環境でスタックトレースを返さないでください
- ミュータブルなデフォルト引数を使用しないでください
- データベース接続エラーの処理を忘れないでください
- ルートハンドラー内に認証を実装しないでください
コメント
Markdown 対応