Skip to content

API REST de cadastro de usuário, com autenticação simples

Notifications You must be signed in to change notification settings

caiofrz/register_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

register_app

Projeto de API REST de cadastro de usuários em Java

preview

Stack utilizada

Back-end: Java 17, Spring, MySQL e Swagger.

Apps auxiliares: VSCode e Postman.

Documentação da API

Acesse a documentaçãa via Swagger no endpoint

  localhost:8080/docs

Recuperar usuários

  GET localhost:8080/users

Recuperar usuário específico

  GET localhost:8080/user/{id}
Exemplo de retorno
    {
        "id": 1,
        "name": "Caio",
        "email": "caiofa@email.com",
        "password": "$2a$10$c5tWiKU7WQLMN.V2UL0NY.OxRI33ntRREBN5c2KeK649/ek/7Hbtm",
        "phone": "33988237292",
        "roles: ["ROLE_USER", "ROLE_ADMIN"]
    },

Cadastrar usuário

  POST localhost:8080/user

Atualizar cadastro de usuário

  PUT localhost:8080/user/{id}
Exemplo de corpo para requisição POST e PUT
    {
        "name": "Caio Ferraz",
        "email": "caio@email.com",
        "password": "12345678",
        "phone": "33988230000",
        "roles: ["ROLE_USER", "ROLE_ADMIN"]
    },
Parâmetro Tipo Descrição
name string Obrigatório. O nome do usuário
email string Obrigatório. O email do usuário
password string Obrigatório. A senha do usuário
phone string Obrigatório. O número de telefone do usuário

Deletar usuário

  DELETE localhost:8080/user/{id}

Autencticação simples / login

  POST localhost:8080/user/login
Exemplo de corpo para requisição de login
    {
        "email": "caio@email.com",
        "password": "12345678",
    },
Parâmetro Tipo Descrição
email string Obrigatório. O email do usuário
password string Obrigatório. A senha do usuário

Rodando localmente

Clone o projeto

  git clone https://github.com/caiofrz/register_app.git

Entre no diretório do projeto

  cd register_app

Configure o banco

É preciso que você tenha o MySQL instalado na sua máquina. Caso não tenha, acesse o site e instale.

O segundo passo é criar o banco. Para isso utilize o comando:

  create database nomeDoBanco;

Configurando a aplicação

Vá até o arquivo application.properties e altere as configurações. O caminho do arquivo é src/main/resources:

    spring.datasource.url=jdbc:mysql://localhost:porta/nomeDoBanco
Parâmetro Exemplo Descrição
porta 3306 Esse propriedade da url se refere a porta em que o MySQL estará rodando. A porta default é 3306
nomeDoBanco usuarios Esse propriedade da url se refere ao nome do banco de dados que você criou
    spring.datasource.username=root
    spring.datasource.password=root
Parâmetro Exemplo Descrição
username root Esse propriedade se refere ao seu nome de usuario que foi criado. O nome default é root
password root Esse propriedade se refere a sua senha de usuario que foi criada

Agora basta dar start na aplicação. O seu navegador deve abrir uma aba com a aplicação rodando.

Caso isso não aconteça a app estará rodando na porta 8080 da sua máquina. Acesse o navegador e digite: http://localhost:8080 e pronto.

Feedback

Se você tiver algum feedback, por favor não deixe de dá-lo.

Me contate através do github ou LinkedIn

Referência

Funcionalidades que pretendo implementar ao projeto

  • Autenticação simples (email e senha)