«DotNet.ApiRest.BasicTemplate». Plantilla para crear proyectos API Rest Net Core.


Hace ya tiempo que quería escribir sobre el uso de plantillas en DotNet Core y, de paso, aprovechar para crear y compartir una de ellas. Una que sirva de punto de partida para todos mis proyectos de tipo API Rest; Demos, PoCs y por supuesto, proyectos reales mejorando así en la productividad y evitando tareas repetitivas.

Publiqué la primera versión del paquete nuget hace ya un año», así que no se encuentra en DotNet 5, aun, pero será objeto de siguientes post 😉

DotNet.ApiRest.BasicTemplate

Se trata de un plantilla que proporciona y tiene en cuenta «mucho» de lo que hago en mi día a día.

Desde el punto de vista de desarrollo:

  1. Incluye buenas practicas,
  2. Incorpora el uso de OpenApi (Swagger) con «Swashbuckle«.
  3. Usa ILogger como componente nativo con la potencia y recomendaciones de Serilog, para la escritura de trazas/logging, tanto en Consola, como en Azure Applicatión Insight, Fichero, etc.
  4. HelthCheck.
  5. Filters y Middleware.
  6. Autenticación con Azure Active Directory.
  7. Entity Framewok.
  8. En resumen, se trata de una plantilla base para la creación de API RESTs.
  9. Script «Build.cmd» para la compilación, ejecución de tests y cobertura de código en local como ya vimos en el post «Runing Tests and Code Coverage without Visual Studio. OpenCover con coverlet y ReportGenerator.«.
  10. Integración con Sonarqube. Como ya vimos en este otro post.
  11. Tests Unitarios con XUnit y Moq. [AutoFixture y Fluent Assertion en futuras versiones de la plantilla].
  12. Tests Integrados con XUnit.
  13. Y, mucho más.

Desde el punto de vista de DevOps (Despliegue, CI/CD, …):

  • Docker.
  • Kubernetes + Helm.
  • Scripts para la Creación y registro de aplicaciones en AAD.
  • Azure Pipelines.
  • Y, mucho más.

La estructura (o Scaffolding) de proyecto:

  • Application
    • Models. Models, ViewModels y DTOs usado por los Controllers y los Services..
    • Services. Lógica de aplicación.
  • Controllers (Think controllers)
  • Domain
    • Exceptions.
    • Interfaces.
  • Infrastructure
    • ActionResults.
    • EntityConfigurations. Configuración EF.
    • Filters. Filtros ASPNet Core.
    • Http. Cliente para invocar a otras APIs Rest.
    • Middlewares.
    • Providers.
    • Repositories. Repositorios de BD para el uso con EF.

La siguiente imagen muestra esta estructura de proyecto desde Visual Studio, junto a los proyectos de Tests Unitarios y Tests Integrados :

En GitHub puedes encontrar todo el código y más detalle y, en NuGet la versión de la plantilla publicada y lista para ser usada:

Resultado de imagen de Nuget

Happy Coding
Juanlu

Anuncio publicitario

2 comentarios sobre “«DotNet.ApiRest.BasicTemplate». Plantilla para crear proyectos API Rest Net Core.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.