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).