É uma abordagem simplificada para implementar APIs de HTTP, com foco na diminuição de código e de configuração. Com poucas linhas de código, é possível criar endpoints REST funcionais. (Minimal API)
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World");
app.Run();
A Clean Architecture é um padrão arquitetural de software baseado no princípio da separação de interesses, onde a aplicação é dividida em diferentes camadas, cada uma com sua preocupação. O objetivo é proporcionar aos desenvolvedores uma forma melhor de organizar o código, separando as regras de negócio, facilitando o desenvolvimento e a manutenção do código.
: The Clean Architecture by Robert C. Martin
- Command and Query Responsibility Segregation (CQRS)
- Mediator
- Repository
- Unit of Work
: Minimal API with Clean Architecture
A API está documentada com a utilização do Swagger. Ao acessar a página, é possivel testar todas as requisições HTTP.
Execute o comando docker compose up --build
e acesse http://localhost:8080/swagger
para testar a API.
Também é possível baixar a imagem com o comando docker pull pedrolucas5100/minimal-api-with-clean-architecture
e criar seus próprios containers.
Os comandos
dotnet build
edotnet run
restauram as dependências automaticamente.
- Application
- AutoMapper :
dotnet add package AutoMapper --version 13.0.1
- FluentValidation :
dotnet add package FluentValidation.DependencyInjectionExtensions --version 11.9.0
- MediatR :
dotnet add package MediatR --version 12.2.0
- AutoMapper :
- Persistence
- SQLite :
dotnet add package Microsoft.EntityFrameworkCore.Sqlite --version 8.0.4
- SQLite :
- API
- OpenAPI :
dotnet add package Microsoft.AspNetCore.OpenApi --version 8.0.4
- EntityFrameworkCore.Design :
dotnet add package Microsoft.EntityFrameworkCore.Design --version 8.0.0
- Swagger :
dotnet add package Swashbuckle.AspNetCore --version 6.4.0
- OpenAPI :
cd minimal-api-with-clean-architecture/
dotnet build
cd src/Presentation/CleanArchitecture.API
dotnet run
Acesse: https://localhost:7054/swagger
ou http://localhost:5269/swagger
para utilizar o Swagger e testar a API.
Pode ser necessário autorizar o uso de HTTPS no ambiente local. Para isso, ative a confiança no cetificado https do dotnet com o seguinte comando:
dotnet dev-certs https --trust
- A implementação da estrutura da Clean Architecture foi baseada no conteúdo do canal Jose Carlos Macoratti.
- Documentação ASP .NET