api_design
API tasarımı, GraphQL schema, OpenAPI spec, versioning. ⚠️ Tasarım aşaması için kullan. Uygulama/security için → backend-api.
npxskills add vuralserhat86/antigravity-agentic-skills--skill api_designLoading…
API tasarımı, GraphQL schema, OpenAPI spec, versioning. ⚠️ Tasarım aşaması için kullan. Uygulama/security için → backend-api.
npxskills add vuralserhat86/antigravity-agentic-skills--skill api_designLoading…
RESTful ve GraphQL API tasarımı rehberi.
GET(read) · POST(create) · PUT(full-update) · PATCH(partial) · DELETE
2xx Success · 4xx Client Error · 5xx Server Error
| Code | Kullanım |
|---|---|
| 200/201/204 | OK/Created/No Content |
| 400/401/403/404/422 | Bad/Unauth/Forbidden/NotFound/Validation |
| 500/503 | Server Error/Unavailable |
Pattern: /api/v{n}/{resource}/{id?}/{sub-resource?}
✅ GET /api/v1/users
✅ GET /api/v1/users/{id}
✅ POST /api/v1/users
❌ GET /api/v1/getUsers (verb kullanma!)
?page=1&limit=20 · ?status=active · ?sort=createdAt&order=desc · ?fields=id,name
// Success
{ success: true, data: T, meta?: { page, total } }
// Error
{ success: false, error: { code: string, message: string, details?: [] } }
| Yöntem | Örnek | Öneri |
|---|---|---|
| URL (önerilen) | /api/v1/users | ✅ En yaygın |
| Header | Accept: ...version=1 | Opsiyonel |
| Query | ?version=1 | Kaçın |
type Query {
user(id: ID!): User
users(filter: Filter, pagination: Pagination): UserConnection!
}
type Mutation {
createUser(input: CreateUserInput!): UserPayload!
}
N+1 Çözümü: DataLoader, Batch loading, Query complexity limiting
openapi: 3.0.3
info: { title: API, version: 1.0.0 }
paths:
/users:
get:
responses:
'200': { $ref: '#/components/schemas/UserList' }
API Design v2.0 - Compact
openapi.yaml or schema.graphql BEFORE coding.| Aşama | Doğrulama |
|---|---|
| 1 | OpenAPI spec onaylandı (lint geçerli) |
| 2 | Kod ve Spec tipleri senkronize (codegen) |
| 3 | Contract testleri geçiyor |
| 4 | Dokümantasyon canlı ve güncel |
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).