- Introdução
- Clonando o Repositório
- Configurando o Projeto
- Executando a Aplicação
- Acessando a Documentação Swagger
- Estrutura de Endpoints
- Testando os Endpoints
O projeto InsightsInterface é uma API RESTful desenvolvida em ASP.NET Core para gerenciar dados de clientes, produtos e feedbacks. O MongoDB é usado como banco de dados, e a API oferece operações CRUD para cada uma dessas entidades.
Para obter o projeto em sua máquina local, clone o repositório GitHub:
git clone https://github.com/Cassiyu/InsightsInterface.git
cd InsightsInterface-
Pré-requisitos:
- .NET 6 SDK ou superior
- MongoDB rodando localmente ou configurado em um servidor remoto.
-
Configuração do MongoDB: No arquivo
appsettings.json, configure a conexão com o MongoDB em:"MongoDBSettings": { "ConnectionString": "mongodb://localhost:27017", "DatabaseName": "Insights" }
Ajuste
ConnectionStringse o MongoDB estiver em um endereço diferente ou exigir autenticação.
Após a configuração, execute os comandos abaixo para iniciar o projeto:
dotnet build
dotnet runSe tudo estiver configurado corretamente, o projeto será iniciado e estará disponível nos endpoints padrão.
Com o projeto em execução, você pode acessar a documentação interativa da API pelo Swagger:
- Abra o navegador e acesse:
http://localhost:5116/swagger/index.html
O Swagger fornece uma interface para testar todos os endpoints e visualizar as respostas.
A API fornece as operações CRUD para as entidades Clientes, Produtos e Feedbacks:
GET /api/Clientes- Listar todos os clientesPOST /api/Clientes- Criar um novo clienteGET /api/Clientes/{id}- Obter detalhes de um cliente específicoPUT /api/Clientes/{id}- Atualizar um cliente existenteDELETE /api/Clientes/{id}- Excluir um cliente
GET /api/Produtos- Listar todos os produtosPOST /api/Produtos- Criar um novo produtoGET /api/Produtos/{id}- Obter detalhes de um produto específicoPUT /api/Produtos/{id}- Atualizar um produto existenteDELETE /api/Produtos/{id}- Excluir um produto
GET /api/Feedbacks- Listar todos os feedbacksPOST /api/Feedbacks- Criar um novo feedbackGET /api/Feedbacks/{id}- Obter detalhes de um feedback específicoPUT /api/Feedbacks/{id}- Atualizar um feedback existenteDELETE /api/Feedbacks/{id}- Excluir um feedback
Aqui estão instruções para testar cada um dos endpoints usando o Swagger.
-
Criar Cliente (POST /api/Clientes)
Exemplo de corpo da requisição:{ "nome": "João da Silva", "email": "joao.silva@email.com", "telefone": "+5511998765432", "genero": "Masculino", "interesses": ["Roupa", "Tecnologia"], "endereco": { "rua": "Av. Paulista", "numero": 1000, "cidade": "São Paulo", "estado": "SP", "cep": "01310-000" }, "dataNascimento": "1990-05-21", "cpf": "123.456.789-00", "dataCadastro": "2023-01-15", "ativo": true } -
Listar Clientes (GET /api/Clientes)
Envie uma requisição GET para obter todos os clientes. -
Obter Cliente por ID (GET /api/Clientes/{id})
Substitua{id}pelo ID do cliente criado para visualizar os detalhes. -
Atualizar Cliente (PUT /api/Clientes/{id})
Envie uma requisição PUT com o ID do cliente e um corpo de requisição atualizado.Exemplo de corpo da requisição:
{ "id": "67283988931b3d781664340b", "nome": "João da Silva", "email": "joao.silva@email.com", "telefone": "+5511998765432", "genero": "Masculino", "interesses": ["Esporte", "Tecnologia"], "endereco": { "rua": "Av. Paulista", "numero": 1000, "cidade": "São Paulo", "estado": "SP", "cep": "01310-000" }, "dataNascimento": "1995-05-21", "cpf": "123.456.789-00", "dataCadastro": "2024-01-15", "ativo": true } -
Excluir Cliente (DELETE /api/Clientes/{id})
Envie uma requisição DELETE com o ID do cliente para excluí-lo.
-
Criar Produto (POST /api/Produtos)
Exemplo de corpo da requisição:{ "nome": "Camiseta Branca", "descricao": "Camiseta branca 100% algodão", "preco": 49.99, "peso": "200g", "cor": "Branco", "estoque": 100, "categoria": "Roupas", "fornecedor": "Fornecedor A", "dataAdicao": "2023-02-01" } -
Listar Produtos (GET /api/Produtos)
Envie uma requisição GET para obter todos os produtos. -
Obter Produto por ID (GET /api/Produtos/{id})
Substitua{id}pelo ID do produto criado. -
Atualizar Produto (PUT /api/Produtos/{id})
Envie uma requisição PUT com o ID do produto e um corpo de requisição atualizado.Exemplo de corpo da requisição:
{ "id": "672839f4931b3d781664340f", "nome": "Camiseta Preta", "descricao": "Camiseta branca 100% algodão", "preco": 89.99, "peso": "200g", "cor": "Preto", "estoque": 150, "categoria": "Roupas", "fornecedor": "Fornecedor B", "dataAdicao": "2024-02-01" } -
Excluir Produto (DELETE /api/Produtos/{id})
Envie uma requisição DELETE com o ID do produto.
-
Criar Feedback (POST /api/Feedbacks)
Exemplo de corpo da requisição:{ "clienteNome": "João da Silva", "produtoNome": "Camiseta Preta", "dataFeedback": "2024-03-12", "avaliacao": 4, "comentario": "Camiseta de ótima qualidade, tecido confortável.", "classificacaoLoja": 5, "tempoUso": 30, "tipoUso": "casual", "recomenda": true } -
Listar Feedbacks (GET /api/Feedbacks)
Envie uma requisição GET para obter todos os feedbacks. -
Obter Feedback por ID (GET /api/Feedbacks/{id})
Substitua{id}pelo ID do feedback criado. -
Atualizar Feedback (PUT /api/Feedbacks/{id})
Envie uma requisição PUT com o ID do feedback e um corpo de requisição atualizado.Exemplo de corpo da requisição:
{ "id": "67283a1b931b3d7816643413", "clienteNome": "João da Silva", "produtoNome": "Camiseta Preta", "dataFeedback": "2024-08-12", "avaliacao": 3, "comentario": "Camiseta boa, tecido confortável.", "classificacaoLoja": 4, "tempoUso": 20, "tipoUso": "casual", "recomenda": true } -
Excluir Feedback (DELETE /api/Feedbacks/{id})
Envie uma requisição DELETE com o ID do feedback.