Este é o README do projeto que desenvolvi usando o Spring Boot 3 para criar uma API REST com autenticação via Token e integração com MySQL. Neste projeto, demonstro como criar uma aplicação web moderna que fornece serviços RESTful seguros e armazena dados em um banco de dados MySQL.
O objetivo deste projeto é criar uma API REST que permita aos usuários realizar operações CRUD (Create, Read, Update, Delete) em recursos específicos, autenticando-se por meio de tokens e persistindo os dados em um banco de dados MySQL.
- Spring Boot 3: Framework Java que simplifica o desenvolvimento de aplicativos com a configuração mínima.
- Spring Security: Fornece recursos de autenticação e autorização, permitindo proteger os endpoints da API.
- Token JWT (JSON Web Token): Utilizado para autenticação segura e eficiente na API.
- MySQL: Sistema de gerenciamento de banco de dados relacional para armazenar os dados da aplicação.
-
Clonando o repositório:
bashCopy codegit clone https://github.com/jcanella/APIRestSpringBoot.git cd APIRestSpringBoot Configurando o Banco de Dados:
Abra o arquivo
src/main/resources/application.propertiese configure as propriedades do banco de dados:bashCopy codespring.datasource.url=jdbc:mysql://localhost:3306/nome_do_banco spring.datasource.username=seu_usuario spring.datasource.password=sua_senhaConfigurando o Token JWT:
No arquivo
src/main/resources/application.properties, defina a chave secreta para assinar os tokens JWT:Copy codeapp.jwtSecret=chave_secreta_aqui app.jwtExpirationMs=86400000Executando o Projeto:
Use o Maven para executar o projeto:
arduinoCopy codemvn spring-boot:run
Você pode usar ferramentas como o Postman ou o cURL para testar os endpoints da API. Certifique-se de incluir o token JWT recebido após a autenticação nos cabeçalhos das solicitações autenticadas.
Este projeto demonstra como criar uma API REST segura com autenticação via token usando o Spring Boot 3 e integrando-se ao MySQL. Fique à vontade para expandir este projeto adicionando mais recursos, melhorando a segurança ou implementando outras funcionalidades de acordo com suas necessidades.
Espero que este README tenha fornecido uma visão geral clara do projeto. Se tiver alguma dúvida ou precisar de mais assistência, não hesite em entrar em contato!