110 lines
1.8 KiB
Markdown
110 lines
1.8 KiB
Markdown
# 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.
|