1.8 KiB
1.8 KiB
Estándar Corporativo para APIs .NET
Framework
- .NET 8 o superior.
- ASP.NET Core Web API.
- C# moderno.
- Nullable enable.
- Async/await obligatorio para operaciones I/O.
Arquitectura
Usar Clean Architecture con capas separadas:
- API
- Application
- Domain
- Infrastructure
- Tests
Responsabilidad por capa
API
- Controllers o Minimal APIs.
- Middlewares.
- Autenticación.
- Autorización.
- Swagger.
- Health checks.
Application
- Casos de uso.
- Commands.
- Queries.
- DTOs.
- Validaciones.
- Interfaces.
Domain
- Entidades.
- Value Objects.
- Reglas de negocio.
- Eventos de dominio.
- Interfaces de repositorio.
Infrastructure
- Entity Framework Core.
- Repositorios.
- DbContext.
- Servicios externos.
- Implementaciones técnicas.
Tests
- Unit tests.
- Integration tests.
- API tests.
Patrones recomendados
- CQRS cuando exista complejidad.
- Repository Pattern cuando ayude a separar dominio.
- Unit of Work si hay transacciones complejas.
- Mediator si se usa MediatR.
- Result Pattern para manejo controlado de respuestas.
Seguridad
- JWT Bearer cuando aplique.
- Autorización por roles o policies.
- Validación de entrada obligatoria.
- Protección contra SQL Injection.
- Protección contra IDOR.
- No exponer stack traces.
- No retornar entidades directamente.
- No guardar secretos en código.
Documentación
Toda API debe incluir:
- Swagger/OpenAPI.
- Descripción de endpoints.
- Ejemplos de request/response.
- Códigos de error.
- Modelo de autenticación.
Observabilidad
Debe incluir:
- Logging estructurado.
- Correlation ID.
- Health checks.
- Métricas.
- Trazabilidad de errores.
Testing
Mínimo requerido:
- Unit tests de servicios.
- Unit tests de validadores.
- Integration tests de endpoints críticos.
- Pruebas de autenticación y autorización.