API REST desenvolvida em C#, com .NET 8, para exercitar habilidades em desenvolvimento backend e implementação de padrões de projeto, aplicando princípios de Domain-Driven Design.
O projeto está organizado em 5 camadas, cada uma com responsabilidades bem definidas:
📦 Solução
├── 📂 Api.WebApi → Controllers, Middlewares e Inicialização da API
├── 📂 Api.Application → DTOs, Exceções e Application Services
├── 📂 Api.Domain → Contratos, Entidades, Value Objects e Domain Services
├── 📂 Api.Infrastructure → Implementação dos Repositórios, Acesso a Dados e mapeamento de entidades
└── 📂 Api.IoC → (Inversion of Control) Configuração de Injeção de Dependências
| Tecnologia | Versão | Descrição |
|---|---|---|
| .NET Core | 8.0 | Framework principal |
| NHibernate | 5.x | ORM para mapeamento objeto-relacional |
| SQL Server | - | Banco de dados relacional |
| Swagger/OpenAPI | - | Documentação interativa da API |
- Clone o repositório
git clone https://github.com/SousaFelipe/dotnet-rest-api
cd dotnet-rest-api- Restaure as dependências
dotnet restore- Configure a string de conexão do banco de dados
appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=db;User Id=user;Password=yourpass;TrustServerCertificate=True;"
}
}- Execute o projeto
-- upsó será necessário na primeira inicialização (serve para rodar as migrations)
dotnet run --project Api.WebApi -- up- Acesse a documentação Swagger
http://localhost:5035/swagger/index.html
A API utiliza JWT (JSON Web Tokens) para autenticação:
- Faça login no endpoint
/api/auth/login - Adicione o token retornado no header
Authorization: Bearer {token} - Acesse os endpoints protegidos com o token válido
POST /api/auth/login- Autenticação de usuáriosPOST /api/users- Criar novo usuárioGET /api/users/{id}- Obter usuário específico 🔐GET /api/users/{page}/{limit}- Listar usuários de forma paginada 🔐PUT /api/users/{id}- Editar informações do usuário 🔐DELETE /api/users/{id}- Remover usuário 🔐
Este é um projeto de estudo pessoal, mas sugestões e feedbacks são sempre bem-vindos!
Felipe S. Carmo