REST uygulama, validation, security headers, auth patterns. ⚠️ Kod yazarken kullan. API tasarımı/GraphQL için → api-design.
Install
npx skillscat add vuralserhat86/antigravity-agentic-skills/backend-api Install via the SkillsCat registry.
SKILL.md
🌐 Backend API
REST API tasarımı ve güvenlik best practices.
📋 1. RESTful Endpoints
GET /api/v1/users # List
GET /api/v1/users/:id # Get one
POST /api/v1/users # Create
PATCH /api/v1/users/:id # Partial update
DELETE /api/v1/users/:id # DeleteHTTP Status Codes
| Kod | Kullanım |
|---|---|
| 200 | GET, PATCH, PUT başarılı |
| 201 | POST Created |
| 204 | DELETE No Content |
| 400 | Validation hatası |
| 401 | Authentication gerekli |
| 403 | Yetki yok |
| 404 | Bulunamadı |
| 429 | Rate limit |
✅ 2. Input Validation (Zod)
import { z } from 'zod';
const CreateUserSchema = z.object({
email: z.string().email(),
password: z.string().min(8),
name: z.string().min(2).max(100),
});
type CreateUserDto = z.infer<typeof CreateUserSchema>;🔐 3. Güvenlik
Security Headers
import helmet from 'helmet';
import rateLimit from 'express-rate-limit';
app.use(helmet());
app.use(rateLimit({
windowMs: 15 * 60 * 1000,
max: 100,
}));JWT Authentication
function authMiddleware(req, res, next) {
const token = req.headers.authorization?.replace('Bearer ', '');
if (!token) return res.status(401).json({ error: 'Token required' });
const decoded = jwt.verify(token, env.JWT_SECRET);
req.user = decoded;
next();
}📦 4. Response Format
interface SuccessResponse<T> {
success: true;
data: T;
meta?: { page, limit, total };
}
interface ErrorResponse {
success: false;
error: { code: string; message: string };
}🔗 İlgili Skill'ler
backend-core- TypeScript, yapıbackend-database- Repository, caching
backend-database- Repository, caching
Backend API v1.2 - Verified
🔄 Workflow
Aşama 1: Interface Design (Contract First)
- Specs: OpenAPI (Swagger) veya Zod şeması ile input/output tanımla.
- Roadmap: Endpoint listesini ve HTTP metodlarını belirle.
Aşama 2: Layered Implementation
- Controller: Sadece HTTP request/response yönet, business logic yazma.
- Service: Tüm iş mantığını buraya koy (Reusable).
- DAL: Veritabanı erişimini soyutla.
Aşama 3: Security & Hardening
- Middleware: Helmet, Rate Limiter ve CORS ayarlarını yap.
- Validation: Gelen her veriyi (Body, Query, Params) Zod ile doğrula.
- Error: Global Error Handler kur ve user-friendly mesaj dön.
Kontrol Noktaları
| Aşama | Doğrulama |
|---|---|
| 1 | API dokümantasyonu koddan önce mi hazırlandı? |
| 2 | Controller dosyasında hiç SQL/ORM kodu var mı? (Olmamalı) |
| 3 | 500 hatası dönünce stack trace gizleniyor mu? |