Uma API RESTful moderna construída com .NET 9 e ASP.NET Core para demonstrar um sistema CRUD seguro com autenticação JWT.
Este repositório contém o código-fonte de uma API para gerenciamento de clientes. O projeto foi criado para aplicar conceitos de segurança em APIs, especificamente o uso de JSON Web Tokens (JWT) para proteger endpoints. A aplicação utiliza uma arquitetura limpa e moderna com as últimas novidades do .NET.
- ✅ Autenticação e Autorização: Endpoints de registro e login com geração de token.
- ✅ Operações CRUD: Funcionalidades completas para gerenciar clientes.
- ✅ Segurança de Senhas: Hashing de senhas com BCrypt.
- ✅ Documentação Interativa: Swagger UI configurado para facilitar os testes.
- ✅ Tratamento de Erros Centralizado: Respostas de erro consistentes e claras.
# 1. Clone este repositório
$ git clone [https://github.com/seu-usuario/CrudAPI.git](https://github.com/seu-usuario/CrudAPI.git)
# 2. Navegue até o diretório do projeto
$ cd CrudAPI
# 3. Restaure as dependências
$ dotnet restore
# 4. Inicie a aplicação
$ dotnet run
# A API estará disponível em http://localhost:5205Abaixo estão as principais tecnologias utilizadas:
- .NET 9
- ASP.NET Core Minimal APIs
- Entity Framework Core
- Swagger / OpenAPI
- JWT (JSON Web Tokens)
- BCrypt.Net-Next
- SQLite
A documentação completa e interativa pode ser acessada em /swagger.
| Método HTTP | Rota | Descrição | Autenticação |
|---|---|---|---|
POST |
/api/v1/auth/register |
Registra um novo usuário. | ❌ Não |
POST |
/api/v1/auth/login |
Realiza o login e retorna um token. | ❌ Não |
GET |
/api/v1/clients/getall |
Lista todos os clientes. | ✅ Sim |
GET |
/api/v1/clients/getbyid/{id} |
Busca um cliente pelo ID. | ✅ Sim |
POST |
/api/v1/clients/insert |
Cria um novo cliente. | ✅ Sim |
DELETE |
/api/v1/clients/delete/{id} |
Deleta um cliente. | ✅ Sim |