api_kit library
Simple, fast REST API framework with annotation-based routing.
Perfect for MVPs and rapid prototyping. Just add controllers with annotations and you're ready to go. Built-in essentials included.
Classes
-
ApiResponse<
T> - Standard API response model.
-
ApiResult<
T> - ApiResult: A specialized Result type for HTTP API operations
- ApiServer
- API server that automatically registers controllers with annotation support. Now includes JWT validation system integration
- BaseController
- Base class for all API controllers with common functionality.
- BuiltInMiddleware
- Built-in middleware creators for common use cases.
- Controller
- Annotation to mark a class as an API controller.
- CorsConfig
- CORS configuration.
- DELETE
- Annotation for DELETE endpoints.
- EnhancedAuthMiddleware
- Middleware de autenticación JWT mejorado
- EnhancedReflectionHelper
- Sistema de reflexión mejorado para JWT validation
- GET
- Annotation for GET endpoints.
- JWTController
- Anotación para validación a nivel de controlador
- JWTControllerConfig
- Configuración de validadores a nivel de controlador
- JWTEndpoint
- Anotación para validación a nivel de endpoint específico
- JWTEndpointConfig
- Configuración de validadores a nivel de endpoint
- JWTPublic
- Anotación para marcar un endpoint como público (sin validación JWT)
- JWTValidatorBase
- Base abstracta para todos los validadores JWT personalizados.
- MiddlewareRegistry
- Registry for custom middleware that can be applied to specific endpoints.
- MyAdminValidator
- Validador para usuarios administradores Verifica rol, estado activo y permisos de administrador
- MyBusinessHoursValidator
- Validador para horarios de trabajo Verifica que el acceso ocurra dentro de horarios permitidos
- MyDepartmentValidator
- Validador para departamentos específicos Permite configurar departamentos permitidos y nivel requerido
- MyFinancialValidator
- Validador para operaciones financieras Permite configurar requisitos específicos como montos mínimos
- PATCH
- Annotation for PATCH endpoints.
- PathVariable
-
Annotation for extracting path variables (Spring Boot style)
Usage: @PathVariable('id') String id - POST
- Annotation for POST endpoints.
- PUT
- Annotation for PUT endpoints.
- RateLimit
- Annotation for rate limiting specific endpoints.
- RateLimitConfig
- Rate limiting configuration.
- RateLimiter
- Rate limiter implementation for API protection.
- ReflectionHelper
- Spring Boot-style reflection helper for annotation-based routing
- Request
- An HTTP request to be processed by a Shelf application.
- RequestBody
- Annotation for extracting request body (Spring Boot style) Usage: @RequestBody Map<String, dynamic> body
- RequestHeader
- Annotation for extracting request headers (Spring Boot style) Usage: @RequestHeader('Authorization') String auth
- RequestParam
- Annotation for extracting query parameters (Spring Boot style) Usage: @RequestParam('name') String name
- RequireAuth
- Annotation to require authentication on specific endpoints.
- Response
- The response returned by a Handler.
- RouterBuilder
- Builds routes automatically from controller annotations.
- ServerConfig
- Main server configuration.
- SkipMiddleware
- Annotation to skip default middleware on specific endpoints.
- UseMiddleware
- Annotation to apply custom middleware to specific endpoints.
- ValidationResult
- Resultado de validación usando Result Pattern
Functions
-
corsMiddleware(
CorsConfig config) → Middleware - Creates CORS middleware.
-
errorHandlingMiddleware(
) → Middleware - Creates error handling middleware.
-
loggingMiddleware(
) → Middleware - Creates logging middleware.
-
rateLimitMiddleware(
RateLimitConfig config) → Middleware - Creates rate limiting middleware.
-
requestIdMiddleware(
) → Middleware - Creates request ID middleware for tracing.
-
requestSizeLimitMiddleware(
int maxBytes) → Middleware - Creates request size limit middleware.
-
securityHeadersMiddleware(
) → Middleware - Creates security headers middleware (OWASP protection).