Esta é uma API REST desenvolvida com Spring Boot, que utiliza Spring Security para autenticação e PostgreSQL como banco de dados. A API oferece um CRUD básico para gerenciamento de tópicos e autenticação baseada em tokens JWT.
- Spring Boot
- Spring Security
- PostgreSQL
- JWT (JSON Web Token)
- Insomnia (para testes de API)
POST /login
Para iniciar o uso da API, faça uma requisição para o endpoint /login com um usuário cadastrado no banco de dados.
Se as credenciais forem válidas, um token JWT será retornado.
Exemplo de Payload:
{
"login": "usuario",
"senha": "senha123"
}Resposta:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Este token deve ser enviado no cabeçalho das próximas requisições como:
Authorization: Bearer <seu_token>
Base URL: /topicos
GET /topicos
Lista todos os tópicos cadastrados. É possível paginar os resultados.
POST /topicos
Cadastrar um novo tópico.
Exemplo de Payload:
{
"tituloDoComentario": "Título do Tópico",
"mensagem": "Mensagem do tópico",
"autor": "Autor",
"curso": "Curso relacionado"
}PUT /topicos/{id}
Atualiza os dados de um tópico pelo ID.
Exemplo de Payload:
{
"tituloDoComentario": "Título Atualizado",
"mensagem": "Mensagem Atualizada"
}DELETE /topicos/{id}
Exclui um tópico pelo ID.
- Todas as requisições, exceto o endpoint
/login, exigem autenticação via token JWT. - Senhas são armazenadas de forma segura usando
BCrypt.
- Clone este repositório.
- Configure o arquivo
application.propertiescom as credenciais do PostgreSQL. - Inicie a aplicação com
mvn spring-boot:run. - Use o Insomnia ou outra ferramenta para testar os endpoints.
Contribuições são bem-vindas! Abra uma issue ou envie um pull request para melhorias.