Описание
design-rest-api — slash-команда проектирования API: архитектура — структура RESTful эндпоинтов, аутентификация — выбор и внедрение механизмов входа, документация — описание API для потребителей. Для разработчиков, желающих API, спроектированный до кода, а не выросший стихийно.
Что умеет:
— проектировать RESTful эндпоинты;
— выбирать аутентификацию;
— готовить документацию API;
— запускаться одной командой.
Design REST API
Design comprehensive RESTful API architecture: $ARGUMENTS
Current Application State
- Framework detection: @package.json or @requirements.txt (Express, FastAPI, Spring Boot, etc.)
- Existing API: !
grep -r "route\|endpoint\|@app\\.route" src/ 2>/dev/null | wc -lroutes found - Authentication: !
grep -r "auth\|jwt\|session" src/ 2>/dev/null | wc -lauth components - Documentation: @swagger.yaml or @openapi.json (if exists)
Task
Design complete RESTful API with industry best practices and comprehensive functionality:
API Version: Use $ARGUMENTS to specify API version, GraphQL hybrid approach, or OpenAPI specification
API Architecture:
- Resource Design – RESTful endpoints, HTTP methods, URL structure, resource relationships
- Request/Response Models – Data validation, serialization, error handling, status codes
- Authentication & Authorization – JWT, OAuth, RBAC, API keys, rate limiting
- API Documentation – OpenAPI/Swagger specs, interactive documentation, code examples
- Versioning Strategy – URL, header, or content-type based versioning
- Performance & Security – Caching, pagination, CORS, input validation, SQL injection prevention
Advanced Features: Real-time capabilities, file uploads, batch operations, webhooks, and monitoring integration.
Standards Compliance: Follow REST principles, HTTP specifications, and API design best practices.
Output: Complete API specification with endpoints, authentication, validation, documentation, and client SDKs.