36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
---
|
|
allowed-tools: Read, Write, Edit, Bash
|
|
argument-hint: [api-version] | --v1 | --v2 | --graphql-hybrid | --openapi
|
|
description: Design RESTful API architecture with comprehensive endpoints, authentication, and documentation
|
|
---
|
|
|
|
# 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 -l` routes found
|
|
- Authentication: !`grep -r "auth\|jwt\|session" src/ 2>/dev/null | wc -l` auth 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**:
|
|
1. **Resource Design** - RESTful endpoints, HTTP methods, URL structure, resource relationships
|
|
2. **Request/Response Models** - Data validation, serialization, error handling, status codes
|
|
3. **Authentication & Authorization** - JWT, OAuth, RBAC, API keys, rate limiting
|
|
4. **API Documentation** - OpenAPI/Swagger specs, interactive documentation, code examples
|
|
5. **Versioning Strategy** - URL, header, or content-type based versioning
|
|
6. **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. |