@lukodo/simplexapi
v0.0.6
Published
Un framework web ligero para Node.js con decoradores y TypeScript
Maintainers
Readme
SimplexAPI
Un framework web ligero para Node.js construido con TypeScript y decoradores, inspirado en NestJS pero más simple y minimalista.
Características
- ✨ Decoradores TypeScript - Sintaxis limpia y moderna
- 🚀 Lightweight - Sin dependencias pesadas
- 🔧 Inyección de dependencias - Container IoC integrado
- 📝 Validación - Integración con VineJS
- 🎯 Type-safe - Completamente tipado con TypeScript
- 🔥 Hot reload - Desarrollo rápido
Instalación
npm install @tuusuario/simplexapi reflect-metadata @vinejs/vineUso básico
1. Configurar el servidor
import 'reflect-metadata';
import { SimplexAPI } from '@tuusuario/simplexapi';
const app = new SimplexAPI(3000);
app.listen();2. Crear un controlador
import { Controller, Get, Post, Param, Body } from '@tuusuario/simplexapi/decorators';
@Controller('/api/users')
export class UserController {
@Get('/')
getAllUsers() {
return 'Lista de usuarios';
}
@Get('/:id')
getUserById(@Param('id') id: string) {
return `Usuario con ID: ${id}`;
}
@Post('/')
createUser(@Body() userData: any) {
return `Usuario creado: ${JSON.stringify(userData)}`;
}
}3. Usar servicios con inyección de dependencias
import { Injectable } from '@tuusuario/simplexapi/decorators';
import { LoggerService } from '@tuusuario/simplexapi/middlewares';
@Injectable()
export class UserService {
constructor(private logger: LoggerService) {}
findAll() {
this.logger.log('Obteniendo todos los usuarios');
return [];
}
}API Reference
Decoradores disponibles
@Controller(prefix)- Define un controlador con prefijo de ruta@Get(path)- Maneja peticiones GET@Post(path)- Maneja peticiones POST@Put(path)- Maneja peticiones PUT@Patch(path)- Maneja peticiones PATCH@Delete(path)- Maneja peticiones DELETE@Param(name)- Inyecta parámetros de ruta@Query(name)- Inyecta parámetros de query@Body()- Inyecta el cuerpo de la petición@Injectable()- Marca una clase como inyectable
Servicios incluidos
LoggerService- Servicio de logging básico- Container IoC - Sistema de inyección de dependencias
Contribuir
Las contribuciones son bienvenidas. Por favor, abre un issue primero para discutir los cambios que te gustaría hacer.
Licencia
MIT
