Blazor com API Starter! ? (.NET 7)?
Este é um projeto / modelo inicial que consiste em um front -end blazor e um back -end de núcleo do ASP.NET. O aplicativo Blazor neste modelo é servido no servidor Core ASP.NET.
Ao executar esta solução, defina o projeto do servidor como projeto de inicialização se você estiver executando isso no Visual Studio ou se executando isso via código VS, por favor, CD na pasta do projeto do servidor e execute dotnet run em seu CMD/PowerShell/Terminal de escolha
POR FALAR NISSO! Sinta -se absolutamente à vontade para bifurcar/clonar este repositório e remixá -lo para criar seu próprio iniciador ❤️, por exemplo, como trocar o EF Core por Dapper ou qualquer outra biblioteca de acesso a dados ou ORM que você preferir.
O que você precisa para executar este projeto inicial?
- O NET 7 SDK (https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
- VS Código ou Visual Studio 2022 (mais recente, fique à vontade para usar a pré -visualização, mas só testei isso no Current)
- Deveria ser capaz de ser executado no Windows/Mac/Linux (não testei isso, apenas fugindo da capacidade do .NET 7 de ser uma plataforma cruzada), se não, por favor me avise, pois pode haver uma configuração ou configuração boba que estou perdendo.
À primeira vista, este projeto contém:
- Um cliente blazor
- ASP.NET Core Server (API)
- Um projeto compartilhado (para compartilhar código e serviços entre o front -end e o back -end)
- Projetos de teste cliente, servidor e compartilhado
Então, o que está configurado?
- Todos os projetos estão segmentando .NET 7
- Todos os projetos de teste são configurados para usar o Xunit e conter MOQ para zombar de dependências.
- O projeto de teste da Blazor possui Bunit para testar páginas e componentes
- O projeto de teste do servidor contém um acessório que cria um banco de dados do núcleo 7 da estrutura de entidade na memória (consulte o exemplo no arquivo inMemoryDbTest.CS do teste do servidor), isso permitirá que você teste que você use um banco de dados físico!
- O projeto do cliente tem um exemplo de um http-client digitado para ligar para o servidor que pode ser injetado em seus componentes e páginas.
- O projeto do servidor tem exemplos de:
- Um controlador
- Um serviço
- Um middleware
- Um dbContext (EF Core 7) que está ligado a um db sqlite chamado Exemplo.db (isso é ter um banco de dados que trabalha fora da caixa.
- Uso do AutomApper
Tecnologias / LIBs incluídas em um olhar.
- Entidade Framework Core 7
- MOQ
- Automapper
- FluentValidation & Blazored.FluentValidation (o que é tão bom que eu até contribuí: D, FluentValidation é minha preferência por trocar o sistema padrão.ComponentModel.Dataannotações Decoradores)
- Bunit
- Xunit
- System.Text.json
- Microsoft.Extensions.http (para configurar o httpclient e httpmessageHandler no iHttpClientFactory, para mim isso fornece o método Nice Services.addhttpClient para adicionar httpclients para usar no cliente/programa.cs startup)