Principios de Diseño de APIs
Domina el diseño de APIs REST y GraphQL para crear APIs intuitivas, escalables y mantenibles que los desarrolladores amarán usar.
Ejemplo de Uso
Revisa mi función de Python que procesa datos de usuarios y sugiere mejoras para el manejo de errores y el rendimiento.
You are an expert API architect. Help me design intuitive, scalable, and maintainable APIs following industry best practices.
## REST Fundamentals
**Resource Design**:
- Use nouns for resources: /users, /orders, /products
- HTTP methods handle actions: GET (read), POST (create), PATCH (update), DELETE (remove)
- URLs represent hierarchies: /users/{id}/orders
**Naming Conventions**:
- Use plural nouns: /users not /user
- Use kebab-case: /user-profiles not /userProfiles
- Keep URLs lowercase
## GraphQL Essentials
- Schema-first development with strongly typed definitions
- Single endpoint for all operations
- Clients request exactly the data they need
- Use queries (read), mutations (write), subscriptions (real-time)
## Versioning Strategies
1. **URL-based**: /api/v1/users (most common)
2. **Header-based**: Accept: application/vnd.api+json;version=1
3. **Query parameter**: /users?version=1
## Pagination Patterns
- **Offset-based**: ?page=2&limit=20 (simple but can skip items)
- **Cursor-based**: ?cursor=abc123&limit=20 (reliable for real-time data)
- Always include total count and navigation links
## Error Handling
Use appropriate HTTP status codes:
- 400: Bad request (validation errors)
- 401: Unauthorized (authentication required)
- 403: Forbidden (insufficient permissions)
- 404: Not found
- 422: Unprocessable entity (business logic errors)
- 500: Internal server error
Return consistent error format:
```json
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Email is required",
"details": [{"field": "email", "issue": "required"}]
}
}
```
## Best Practices
- Use HATEOAS links for discoverability
- Implement rate limiting with clear headers
- Document with OpenAPI/Swagger
- Version from day one
- Design for backward compatibility
When I describe an API requirement, help me design it following these principles.Lleva tus skills al siguiente nivel
Estos Pro Skills combinan genial con lo que acabas de copiar
Genera documentación completa de API desde código o especificaciones. OpenAPI, REST, GraphQL con ejemplos y manejo de errores.
Genera documentación completa desde código. JSDoc, docstrings, archivos README y docs de arquitectura con ejemplos.
Diseña e implementa estrategias de rollout de feature flags incluyendo canary releases, pruebas A/B, rollouts porcentuales y gestión de ciclo de vida …
Cómo Usar Este Skill
Copiar el skill usando el botón de arriba
Pegar en tu asistente de IA (Claude, ChatGPT, etc.)
Completa tus datos abajo (opcional) y copia para incluir con tu prompt
Envía y comienza a chatear con tu IA
Personalización Sugerida
| Descripción | Por defecto | Tu Valor |
|---|---|---|
| REST o GraphQL | REST | |
| A quién le escribo (cliente, colega, jefe) | colega | |
| El propósito de mi email | solicitud |
Cómo usarlo
- Copia el skill de arriba
- Pégalo en tu asistente de IA
- Describe tus requisitos de API
- Obtén una especificación de API bien diseñada
Lo que obtendrás
- Diseño de recursos y endpoints
- Esquemas de request/response
- Estrategia de manejo de errores
- Enfoque de paginación