mcpField
F
flask-api-development

flask-api-development

github.com/aj-geddes開発3731.4k 回インストール34 週間前に更新
リポジトリ

flask-api-development について

Flask で REST API や軽量マイクロサービスを構築する開発者向けのスキルです。モジュール構成、データベースアクセス、認証、入力検証、エラー処理を扱います。

主な機能

  1. 01Blueprint による API 構成
  2. 02SQLAlchemy モデルとデータベースアクセス
  3. 03JWT 認証
  4. 04リクエスト検証とエラー処理

活用シーン

  1. 01Flask REST API の構成
  2. 02エンドポイントへの JWT 認証の追加
  3. 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.md
authentication-and-jwt.md
blueprints-for-modular-api-design.md
database-models-with-sqlalchemy.md
flask-application-setup.md
request-validation.md
scripts/
validate-api.sh
templates/
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
  • シークレットをコードに保存しないでください
  • 共有状態にグローバル変数を使用しないでください
  • データベーストランザクションを無視しないでください
  • 検証せずにユーザー入力を信頼しないでください
  • 本番環境でスタックトレースを返さないでください
  • ミュータブルなデフォルト引数を使用しないでください
  • データベース接続エラーの処理を忘れないでください
  • ルートハンドラー内に認証を実装しないでください

コメント