Skip to content

API RESTful feita com Spring Boot e MySQL, utilizando padrões MVC, SOLID, Clean Code, métodos de autenticação JWT, perfis de usuário e Criptografia de senha.

Notifications You must be signed in to change notification settings

Miguel-Oliveiraa/Spring-Boot-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot RESTful API

API RESTful com Spring Boot e mySQL onde o usuário pode criar uma conta e criar tasks dentro dessa conta.

Funcionalidades

  • Criação de conta
  • Login na conta
  • Gerenciamento de tasks
  • Autenticação JWT
  • Multiplataforma

Stack utilizada

Back-end: Java, SpringBoot, Maven, mySQL, lombok, lang3, jsonwebtoken

Documentação da API

Rotas para o usuário

Criar um usuário

  POST /user

Passamos um Json com "username" e "password"

{
    "username": "admin",
    "password": "admin123"
}

Buscar um usuário

  GET /user/${id}
Parâmetro Tipo Descrição
id Integer Obrigatório. O ID do usuário que você quer buscar

Deletar um usuário

  DELETE /user/${id}
Parâmetro Tipo Descrição
id Integer Obrigatório. O ID do usuário que você quer deletar

Rota para as autenticação

  POST /login

Passamos um Json com "username" e "password"

{
    "username": "admin",
    "password": "admin123"
}

Rotas para as tasks

Criar uma task

  POST /task

Passamos um Json com "description"

{
    "description": "trabalho da monitora de MD"
}

Atualizar uma tasks

  PUT /task/${id}
Parâmetro Tipo Descrição
id Integer Obrigatório. O ID da task que você quer atualizar

Passamos um Json com a nova "description"

{
    "description": "trabalho da monitora de MD atualizado"
}

Encontrar uma task

  GET /task/${id}
Parâmetro Tipo Descrição
id Integer Obrigatório. O ID da task que você quer Encontrar

Encontrar todas tasks de um usuário

  GET /task/user

Deletar uma task

  DELETE /task/${id}
Parâmetro Tipo Descrição
id Integer Obrigatório. O ID da task que você quer Deletar

Apêndice

Headers

Toda requisição exceto a de criar conta e login, precisará do JWT no Header

Key Value Descrição
Authorization Bearer ${token} Obrigatório. O token do usuário que está autenticado

Existem dois tipos de autorização.

Usuário - Pode Criar, ler, atualizar e deletar as tasks dele mesmo.

Admin - Pode Criar, ler, atualizar e deletar as tasks de qualquer Usuário.

Para fins de desenvolvimento o tipo admin só pode ser concedido caso tenha uma alteração diretamente no banco de dados. Esse tipo existe apenas em desenvolvimento e deve ser excluido caso fosse para produção.

Autores

About

API RESTful feita com Spring Boot e MySQL, utilizando padrões MVC, SOLID, Clean Code, métodos de autenticação JWT, perfis de usuário e Criptografia de senha.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published