Skip to content

DanielViniAssis/API-Gerencia-Cliente

Repository files navigation

API Gerência de Clientes

API Restful desenvolvida em .NET 9 com Entity Framework, DTOs, Mapper e arquitetura organizada para gerenciar clientes, endereços e contatos.
O projeto inclui testes de endpoints via Postman, com exemplos de respostas esperadas.


Tecnologias utilizadas

  • .NET 9
  • C#
  • Entity Framework Core (SQLite)
  • AutoMapper
  • DTOs (Data Transfer Objects)
  • Visual Studio Code
  • Postman (para testes)
  • SQLite (banco de dados local)

Modelagem dos dados requisitado pelo cliente

image

Modelo de dados e relacionamentos entre Cliente, Endereço e Contatos.

Estrutura do projeto

API-Gerencia-Clientes/

├── Controllers/ # Endpoints da API

├── DTOs/ # Data Transfer Objects

├── Models/ # Entidades do banco de dados

├── Profiles/ # Configurações do AutoMapper

├── Properties/ # Configurações do Projeto com URL do localhost

├── Services/ # Serviços da aplicação ViaCEP

├── Data/ # Contexto do EF

├── Migrations/ # Migrations do EF

├── Docs/ # Documentação e collection do Postman

├── SistemaCliente.csproj

├── SistemaCliente.sln

└── README.md

Como rodar a API localmente

  1. Clone o repositório:
git clone https://github.com/DanielViniAssis/API-Gerencia-Cliente
  1. Acesse a pasta do projeto:
cd API-Gerencia-Cliente
  1. Instale as dependências:
dotnet restore
  1. Aplique as migrations
dotnet ef database update
  1. Execute o projeto
dotnet run

Caso não rode corretamente:

dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet restore
dotnet run
  1. A API iniciará e adicionaremos mais tarde a mesma na variável de ambiente do postman:
http://localhost:5167
  1. Testando os endpoints
  • Todos os endpoints foram testados no Postman, e a documentação completa está incluída na collection:
Docs/API Gerência Cliente.postman_collection.json
  • A collection contém exemplos de:

  • POST → Criação de clientes

  • PUT → Atualização de clientes

  • GET → Consulta de clientes

  • DELETE → Exclusão de clientes

  • Cada rota inclui exemplos de responses como:

  • 200 (OK) → Operação bem-sucedida

  • 400 (BadRequest) → Dados inválidos

  • 404 (NotFound) → Cliente não encontrado

Lembrando que dentro da collection temos a documentação de todas as requests.

image

Exemplo de requisição POST com responses detalhadas.

Detalhes sobre o Collections

Dentro do nosso collection teremos uma variavel de ambiente chamda BaseUrl aonde armazenamos a url base da nossa aplicação sendo a http://localhost:5167 você pode acessar ela no canto direito do postman integrado ao Visual Studio Code.

Vamos adicionar nossa URL na nossa variável clicando no olhinho ao lado da variável API como abaixo, e colocamos a URL no campo current value, após clicamos em save e podemos fazer nossas requests.

Capturar BaseUrl

Variavel de ambiente base URL.

Abaixo como importamos a collection caso ainda não esteja importada.

Novo Projeto (2) Novo Projeto (3) Novo Projeto (4)

Aqui podemos escolher as requests e executar os testes.

image

Abaixo disponibilizo um json para Post (como mencionado o mesmo se encontra na documentação)

post

Exemplo de POST pelo PostMan.

{
  "nome": "Cliente 01",
  "endereco": {
    "cep": "08673000",
    "numero": "1323",
    "complemento": "N/A"
  },
  "contatos": [
    {
      "tipo": "telefone",
      "texto": "(11) 1111-1111"
    },
    {
      "tipo": "email",
      "texto": "contato@teste.com.br"
    }
  ]
}

Abaixo um Json de PUT (Update)

put

Exemplo de PUT pelo PostMan.

{
    "nome":"Cliente 01",
    "endereco":{
        "cep":"08780060",
        "numero":"1003",
        "complemento":"ao lado do posto"},
        "contatos":[{
            "id":1,
            "tipo":"telefone",
            "texto":"(11) 88888"
            },
            {"id":1,
            "tipo":"email",
            "texto":"contato@daniel.com.br"
            }
            ]
}

Abaixo Exemplo de como executar um delete.

Ao Lado do metodo DELETE adicionamos nossa variável BaseUrl/api/clientes/id - digitamos qual id queremos ex: 1, após clicamos em send.

delete

Exemplo de DELETE pelo PostMan.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages