¡Blazor con API Starter! ? (.Net 7)?
Este es un proyecto / plantilla de inicio que consiste en una frontend blazor y un backend de núcleo ASP.NET. La aplicación Blazor en esta plantilla se sirve desde el servidor Core ASP.NET.
Al ejecutar esta solución, configure el proyecto del servidor como proyecto de inicio si está ejecutando esto en Visual Studio o si ejecuta esto a través del código VS, CD en la carpeta del proyecto del servidor y ejecute dotnet run en su CMD/PowerShell/Terminal de elección
¡POR CIERTO! Siéntase absolutamente libre de bifurcarse/clonar este repositorio y remezclarlo para crear su propio iniciador ❤️ EG, por ejemplo, como intercambiar el núcleo de Dapper o cualquier otra biblioteca de acceso a los datos o de datos que prefiera.
¿Qué necesitas para ejecutar este proyecto de inicio?
- El Net 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Code o Visual Studio 2022 (lo último actual, no dude en usar la vista previa, sin embargo, solo he probado esto en la corriente)
- Debería poder ejecutarse en Windows/Mac/Linux (no he probado esto, solo que se está ejecutando de la capacidad de .NET 7 para ser una plataforma cruzada), si no, hágamelo saber, ya que puede haber una configuración o una configuración tonta que me falta.
De un vistazo, este proyecto contiene:
- Un cliente de Blazor (que contiene las piezas de proyecto Blazor predeterminadas menos las bits de Weatherapi)
- ASP.NET Core Server (API)
- Un proyecto compartido (para compartir código y servicios entre la interfaz y el backend)
- Prueba de proyectos de cliente, servidor y compartido
Entonces, ¿qué está configurado?
- Todos los proyectos se dirigen a .NET 7
- Todos los proyectos de prueba están configurados para usar XUNIT y contienen MoQ para dependencias de burlas.
- El proyecto de prueba de Blazor tiene BUNIT para páginas de prueba y componentes
- El proyecto de prueba del servidor contiene un accesorio que crea una base de datos de Entity Framework Core 7 de Entity Entity (consulte el ejemplo en el archivo InMemoryDBtests.cs de la prueba del servidor), ¡esto le permitirá probar sin usar un DB físico!
- El proyecto del cliente tiene un ejemplo de un HTTP-Client escrito para llamar al servidor que puede inyectarse en sus componentes y páginas.
- El proyecto del servidor tiene ejemplos de:
- Un controlador
- Un servicio
- Un middleware
- Un DBContext (EF Core 7) que está vinculado a un DB sqlite llamado Ejemplo.db (¡Esto es para que un DB en funcionamiento fuera de la caja, siéntase libre de reorientar a cualquiera que EF-Core sea admitido!)
- Uso de Automapper
Tecnologías / LIBS incluidas de un vistazo.
- Entity Framework Core 7
- Moq
- Autófano
- FluentValidation & Blazored.FluentValidation (que es tan bueno que incluso he contribuido: D, la Validación Fluent es mi preferencia por intercambiar el sistema estándar.
- Bollo
- Xunit
- System.text.json
- Microsoft.extensions.http (para configurar httpclient y httpMessageHandler en ihttpclientFactory, para mí esto proporciona el método agradable de servicios.