Skip to content

API REST desenvolvida em C#, com .NET 8, para exercitar habilidades em desenvolvimento backend e implementação de padrões de projeto.

License

Notifications You must be signed in to change notification settings

SousaFelipe/dotnet-rest-api

Repository files navigation

REST API .NET 8

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.

🏗️ Arquitetura

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

🛠️ Tecnologias Utilizadas

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

📋 Pré-requisitos

🚀 Como Executar

  1. Clone o repositório
git clone https://github.com/SousaFelipe/dotnet-rest-api
cd dotnet-rest-api
  1. Restaure as dependências
dotnet restore
  1. 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;"
  }
}
  1. Execute o projeto

-- up só será necessário na primeira inicialização (serve para rodar as migrations)

dotnet run --project Api.WebApi -- up
  1. Acesse a documentação Swagger
http://localhost:5035/swagger/index.html

🔐 Autenticação

A API utiliza JWT (JSON Web Tokens) para autenticação:

  1. Faça login no endpoint /api/auth/login
  2. Adicione o token retornado no header Authorization: Bearer {token}
  3. Acesse os endpoints protegidos com o token válido

📝 Endpoints

  • POST /api/auth/login - Autenticação de usuários
  • POST /api/users - Criar novo usuário
  • GET /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 🔐

🤝 Contribuições

Este é um projeto de estudo pessoal, mas sugestões e feedbacks são sempre bem-vindos!

👨‍💻 Autor

Felipe S. Carmo

About

API REST desenvolvida em C#, com .NET 8, para exercitar habilidades em desenvolvimento backend e implementação de padrões de projeto.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages