Git Product home page Git Product logo

cadastro-contatos's Introduction

Cadastrar Contatos

Descrição

O projeto Cadastrar Contatos é uma aplicação para gerenciar contatos profissionais, fornecendo endpoints para realizar operações CRUD (Criar, Ler, Atualizar e Deletar) de contatos e profissionais. Ele foi desenvolvido em Java com o framework Spring Boot.

Funcionalidades

Contatos

  • Listar todos os contatos
  • Filtrar contatos por termo de busca e campos específicos
  • Obter detalhes de um contato por ID
  • Cadastrar um novo contato associado a um profissional
  • Atualizar os dados de um contato existente
  • Deletar um contato

Profissionais

  • Listar todos os profissionais
  • Filtrar profissionais por termo de busca e campos específicos
  • Obter detalhes de um profissional por ID
  • Cadastrar um novo profissional
  • Atualizar os dados de um profissional existente
  • Deletar um profissional

Estrutura do Projeto

O projeto está dividido em pacotes de controller, service, model e repository.

  • controller: Contém os controladores responsáveis por receber as requisições HTTP, chamar os serviços correspondentes e retornar as respostas adequadas.
  • service: Contém a lógica de negócio da aplicação, onde são realizadas as operações sobre os dados.
  • model: Define as classes de modelo para os contatos e profissionais.
  • repository: Interface que estende JpaRepository para acesso aos dados no banco.

Pré-requisitos

  • Java 8 ou superior
  • Maven
  • Banco de dados (H2, MySQL, PostgreSQL, etc.)

Configuração do Ambiente

  1. Clone este repositório: git clone https://github.com/seu-usuario/seu-repositorio.git

  2. Importe o projeto em sua IDE favorita.

  3. Certifique-se de ter configurado corretamente o banco de dados no arquivo application.properties.

  4. Execute o projeto.

Swegger endpoints: http://localhost:8080/swagger-ui/index.html

Endpoints de Contato

GET /contatos

Lista de contatos com base nos critérios definidos em Params.

Params

  • q - String: Filtro para buscar contatos que contenham o texto em qualquer um de seus atributos.
  • fields - List (Opcional): Quando presente, apenas os campos listados em fields deverão ser retornados.

Response

Retorna uma lista de contatos.


GET /contatos/:id

Retorna todos os dados do contato que possui o ID passado na URL.

Response

Retorna os dados do contato com o ID especificado.


POST /contatos

Insere no banco de dados os dados do contato enviados via body.

Body

  • Content-type: Json

Response

Retorna "Sucesso: contato com id {ID} cadastrado" após a inserção.


PUT /contatos/:id

Atualiza os dados do contato que possui o ID passado via URL com os dados enviados no Body.

Body

  • Content-type: Json

Response

Retorna "Sucesso: contato alterado" após a atualização.


DELETE /contatos/:id

Exclui o contato que possui o ID passado na URL.

Response

Retorna "Sucesso: contato excluído" após a exclusão.

Endpoints de Profissional

GET /profissionais

Lista de profissionais com base nos critérios definidos em Params.

Params

  • q - String: Filtro para buscar profissionais que contenham o texto em qualquer um de seus atributos.
  • fields - List (Opcional): Quando presente, apenas os campos listados em fields deverão ser retornados.

Response

Retorna uma lista de profissionais.


GET /profissional/:id

Retorna todos os dados do contato que possui o ID passado na URL.

Response

Retorna os dados do contato com o ID especificado.


POST /profissionais

Insere no banco de dados os dados do contato enviados via body.

Body

  • Content-type: Json

Response

Retorna "Sucesso: contato com id {ID} cadastrado" após a inserção.


PUT /profissional/:id

Atualiza os dados do contato que possui o ID passado via URL com os dados enviados no Body.

Body

  • Content-type: Json

Response

Retorna "Sucesso: contato alterado" após a atualização.


DELETE /profissional/:id

Exclui o contato que possui o ID passado na URL.

Response

Retorna "Sucesso: contato excluído" após a exclusão.

cadastro-contatos's People

Contributors

michelbernardods avatar

Stargazers

Pedro Evaristo Dantas Zaranza avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.