É uma Web API em ASP.NET Core para gerenciar um cadastro de clientes e seus respectivos endereços, estruturada conforme princípios do Domain-Driven Design (DDD) e utilizando Entity Framework Core com banco de dados em memória.
A API expõe os seguintes endpoints:
- GET
/clientes
– Listar todos os clientes - GET
/clientes/{id}
– Obter um cliente pelo ID - POST
/clientes
– Criar um novo cliente - PUT
/clientes/{id}
– Atualizar um cliente existente - DELETE
/clientes/{id}
– Remover um cliente
- ASP.NET Core Web API (.NET 8)
- Entity Framework Core (In-Memory Database)
- Estrutura DDD com separação em:
- Domain (Entidades, Value Objects, Interfaces de Repositório)
- Application (Serviços de aplicação, DTOs)
- Infrastructure (Repositórios e banco)
- API (Controllers, configuração)
- Validações (campos obrigatórios, e-mail único, etc.)
- AutoMapper para mapeamento entre DTOs e Entidades
- Testes unitários com xUnit
- Documentação com Swagger
- Versionamento da API
-
Clone o repositório:
git clone https://github.com/JoaoXavierDEV/API-CadastroClientes.git cd API-CadastroClientes
-
Restaure as dependências:
dotnet restore
-
Rode a aplicação:
dotnet run --project src/elaw/XPTO.Presentation.API/XPTO.Presentation.API.csproj
-
Acesse a API:
Por padrão, a API estará disponível em:
https://localhost:7274
ouhttp://localhost:5268
-
Acesse a documentação Swagger:
Normalmente disponível em:
https://localhost:7274/swagger
ou
http://localhost:5268/swagger
src/
XPTO.Domain/ # Entidades, Value Objects, Interfaces de Repositório
XPTO.Application/ # Serviços de aplicação, DTOs
XPTO.Infrastructure/ # Repositórios, contexto EF
XPTO.API/ # Controllers, configuração de API
tests/
XPTO.Tests/ # Testes unitários
- O banco de dados é em memória — ao reiniciar o projeto, os dados serão perdidos.
- Para testes unitários, utilize o comando:
dotnet test
- Caso deseje testar outros bancos, altere a configuração do
DbContext
na camada Infrastructure.