← ClaudeAtlas

backend-patternslisted

バックエンドコード規約とパターン集。APIルート、Repository、バリデーション等の実装パターン。 使用タイミング: (1) 新しいAPIルート作成時 (2) Repository実装時 (3) バリデーション設計時 (4) エラーハンドリング実装時 (5) バックエンドのベストプラクティス確認時。 トリガー例: 「APIルートを作って」「Repositoryパターンで」「バックエンドのパターン」 「Zodでバリデーション」「エラーハンドリングのパターン」
kimny1143/claude-code-template · ★ 4 · API & Backend · score 55
Install: claude install-skill kimny1143/claude-code-template
# backend-patterns - バックエンドパターン集 バックエンドコード規約とパターン。 ## 使い方 ``` 新しいAPIルートを作る時、このスキルを参照 ``` --- ## 1. APIルート構造 ### 認証パターン(Next.js例) ```typescript // 認証ミドルウェアを使用 import { withAuth } from '@/lib/middleware/with-auth'; import { apiSuccess, apiError } from '@/lib/api-response'; export const GET = withAuth(async ({ userId, request }) => { const data = await repository.findByUserId(userId); return apiSuccess({ data }); }); export const POST = withAuth(async ({ userId, request }) => { const body = await request.json(); // バリデーション & 処理 return apiSuccess({ created: result }); }); ``` ### Express.js例 ```typescript import { Router } from 'express'; import { authenticate } from '@/middleware/auth'; import { validate } from '@/middleware/validate'; const router = Router(); router.get('/', authenticate, async (req, res) => { const data = await repository.findByUserId(req.user.id); res.json({ success: true, data }); }); router.post('/', authenticate, validate(createSchema), async (req, res) => { const result = await repository.create(req.body); res.status(201).json({ success: true, data: result }); }); ``` --- ## 2. レスポンス形式 ### 統一レスポンス ```typescript // lib/api-response.ts export function apiSuccess<T>(data: T, options?: { status?: number }) { return Response.json( { success: true, data, timestamp: new Date().toISOString() }, { status: options?.status ?? 200 } ); } export function apiError(message: string, options?: { status?: number; code?: stri