/PersonAPI

Projeto teve o objetivo de criar um API Rest, onde é realizado um CRUD, e com devido tratamento de suas exceções, além de realização de teste automatizados com JUnits.

Primary LanguageJava

PersonAPI

Projeto desenvolvido teve o objetivo de criar um API Rest, utilizando os padrões de arquitetura em camadas, onde é possível cadastrar uma pessoa, atualizar, deletar, realizar consultas por id e paginadas, e com devido tratamento de suas exceções, além de realização de teste automatizados na camada de services, respositories e controllers.

  • Projeto implementado na nuvem com heroku.

Veja o projeto

Experimente live demo.

Como criar e executar o PersonAPI localmente

Criar e executar o projeto em seu ambiente de desenvolvimento local é muito fácil. Certifique-se de ter o Git, JDK17 e banco PostgreSQL instalados e siga as instruções abaixo. Precisa de informações adicionais? entre em contato no e-mail josecarloscjj@gmail.com (Estas instruções pressupõem que você esteja instalando como um usuário root.)

  1. Clone o código fonte

    git clone git@github.com:joosecj/PersonAPI.git
  2. Em sua IDE de preferência(utilizei Intellij), importe a pasta backend e faça o update das dependências do maven.

  3. Antes de executar o projeto, verificar se o arquivo dentro da pasta RESOURCES chamado application.properties esteja configurado com sua variável de ambiente como test, assim o projeto será rodado no bando H2, sem necessidade de configurar seu postgreSQL localmente, porém caso decida utilizar será necessário alterar o arquivo application-dev.properties com as configurações do banco de dados local. Exemplo abaixo de como deve ficar o arquivo:

    spring.profiles.active=${APP_PROFILE:test}
  4. Ao executar o projeto, pode ser acessado no navegador da Web em http://localhost:8080/ ou poderá usar Api implementada no heroku através do link: https://joosecj-personapi.herokuapp.com

  5. Collections do postman para fazer as requisições GET/PUT/DELETE E UPDATE - Onde pode ser trocada a variável de ambiente, que inicialmente está configurada com link da api no heroku.

    Link da Collections do postman: https://www.getpostman.com/collections/e575eec425356a984f4a

Requisições (Endpoints)

Obs: Para testar as requisições, poderá usar o URL na nuvem ou local que e http://localhost:8080.

  • Pessoa By Id - GET

    https://joosecj-personapi.herokuapp.com/pessoa/1

  • Pessoa By Pagead - GET

    https://joosecj-personapi.herokuapp.com/pessoa?size=10&page=0&sort=name,asc

  • Nova Pessoa - POST

    https://joosecj-personapi.herokuapp.com/pessoa

  • Pessoa - PUT

    https://joosecj-personapi.herokuapp.com/pessoa/1

  • Pessoa - DELETE

    https://joosecj-personapi.herokuapp.com/pessoa/1

  • Corpo da Requisição(Body) - JSON - PUT e POST

    {
     "name": "Jose Carlos",
     "email": "josecj@gmail.com",
     "birthDate": "1994-07-20"
    }

    Tecnologias utlizadas

    Autor: José Carlos

    Jose-Js