Horuss.WebApi.Boilerplate 1.0.2

There is a newer version of this package available.
See the version list below for details.
dotnet new install Horuss.WebApi.Boilerplate::1.0.2
This package contains a .NET Template Package you can call from the shell/command line.

‎Acerca de‎

Horuss Solutions es una empresa que desarrolla software usando la pila dotnet como backend (API web) junto con marcos de cliente modernos como Angular, MVC y Blazor.

horuss-webapi-boilerplate es una parte integral para el desarrollo de futuros proyectos backend de HorussSolutions

‎Guía de inicio rápido‎

Abra su Símbolo del sistema / Powershell y ejecute el siguiente comando para instalar la plantilla de la solución.

dotnet new --install Horuss.WebAPI.Boilerplate::1.0.2

Esto instalaría la plantilla HorussSolutions .NET 6.0 WebAPI globalmente en su máquina. Una vez hecho esto, veamos cómo puede comenzar a generar soluciones completas de .NET WebAPI sin problemas.

Simplemente navegue a un nuevo directorio (donde desee colocar su nueva solución) y abra el símbolo del sistema en el directorio abierto.

Ejecute el siguiente comando. Tenga en cuenta que, en esta demostración, estoy nombrando mi nueva solución como Horuss.Olimpo.

dotnet new horuss-api -o Horuss.Olimpo

Una vez hecho esto, se crea su nueva solución para usted. ¡Tan simple como eso!

Abriendo la aplicación

A continuación, abra el símbolo del sistema en este directorio y ejecute lo siguiente.

code .

Esto abre la solución a través de Visual Code. Asegúrese de tener las herramientas necesarias y la configuración de los SDK.

Configuración de la cadena de conexión

A continuación, configuremos algunas cadenas de conexión válidas. Navega TuProyecto/Presentation/Configurations/ y abre database.json. Aquí tendría que proporcionar una cadena de conexión válida en la DatabaseSettings de MSSQL. A continuación, se muestran algunos ajustes de muestra para el proveedor de base de datos.

{
  "DatabaseSettings": {
    "DBProvider": "mssql",
    "ConnectionString": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=horussboilerplate;Integrated Security=True;MultipleActiveResultSets=True"
  }
}

Posteriormente deberá configurar la cadena de conexión para las migraciones. Navegue a TuProyecto/Infraestructure/Persistence/ y abra ApplicationContextFactory.cs. Aquí tendría que proporcionar una cadena de conexión válida. A continuación, se muestra el ajuste de la base de datos.

var optionsBuilder = new DbContextOptionsBuilder<ApplicationDbContext>();
optionsBuilder.UseSqlServer("server=(localdb)\\mssqllocaldb;Database=horussboilerplate;User Id=sa;Password=pass");

Una vez hecho esto, ejecute los siguientes comandos.
Si usted se encuentra en el directorio raiz del proyecto:

dotnet ef migrations add <CommitMessage> --project NameProyect.Infraestructure --context ApplicationDbContext -o Persistence/Migrations

Si se encuentra en TuProyecto/Infraestructure:

dotnet ef migrations add InitialCreate --context ApplicationDbContext -o Persistence/Migrations

Y para terminar la configuración inicial de la base de datos, procedemos a aplicar las migraciones anteriormente generadas.

Ruta Infraestructure

dotnet ef database update

Ruta raiz

dotnet ef database update --project TuProyecto.Infrastructure

Ejecutando la aplicación

Ahora debe navegar al Presentation(API) Project directorio a través de CMD o la terminal nativa de VSCode y ejecutar el comando básico de compilación y ejecución para que la API esté en funcionamiento. Ejecute lo siguiente.

 cd TuProyecto/Presentation
 dotnet build
 dotnet run

Esto es divertido! 😂

Características

  • Built on .NET 6.0
  • Follows Clean Architecture Principles
  • Supports MSSQL
  • Uses Entity Framework Core as DB Abstraction
  • Flexible Repository Pattern
  • Dapper Integration for Optimal Performance
  • Serilog Integration
  • Swagger Support
  • Mapster Integration for Quicker Mapping
  • API Versioning
  • Response Caching - Distributed Caching
  • Fluent Validations
  • Audit Logging
  • JSON Based Localization with Caching

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.1 502 1/13/2022
1.1.0 300 12/15/2021
1.0.2 356 11/22/2021
1.0.1 899 11/20/2021