Skip to content

LuccaZappala/trabalhoIndividualAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Este projeto consiste na implementação de uma API RESTful completa para a plataforma fictícia Serratec Music, gerenciando usuários, perfis, artistas, músicas e playlists, conforme os requisitos do trabalho individual da disciplina. A API é desenvolvida utilizando Spring Boot 3, JPA/Hibernate e conectada ao banco de dados PostgreSQL.

Desenvolvedor: Lucca Zappala Jurado

⚙️ Tecnologias Utilizadas Linguagem: Java 17+

Framework: Spring Boot 3

Banco de Dados: PostgreSQL

Persistência: Spring Data JPA / Hibernate

Validação: Bean Validation (jakarta.validation)

Documentação: Springdoc OpenAPI (Swagger UI)

📂 Arquitetura do Projeto O projeto segue a arquitetura solicitada, com a lógica de negócio contida diretamente na camada de Controller, comunicando-se com a camada de Repository.

domain: contém todas as entidades (Usuario, Playlist, Musica, etc.).

repository: interfaces para acesso ao banco de dados (Spring Data JPA).

controller: camada REST que expõe os endpoints.

exception: contém o tratamento de exceções centralizado (@ControllerAdvice).

config: contém a classa OpenAPIconfi, classe de configuração do spring boot.

enums: contém o enum GeneroMusica para definir os gêneros musicais.

🚀 Instruções de Execução Siga os passos abaixo para colocar a aplicação em funcionamento:

  1. Configuração do Banco de Dados A aplicação está configurada para se conectar ao PostgreSQL.

Crie um banco de dados com o nome desejado (ex: serratecmusic).

Edite o arquivo src/main/resources/application.properties (ou application.yml) e substitua as credenciais pelas suas:

Properties

spring.datasource.url=jdbc:postgresql://localhost:5432/serratecmusic spring.datasource.username=seu_usuario_postgres spring.datasource.password=sua_senha_postgres spring.jpa.hibernate.ddl-auto=update 2. Inicialização da API Clone este repositório para sua máquina local.

Abra o projeto na sua IDE.

Execute a classe principal que contém o método main() (ex: SerratecMusicApplication.java).

A API será iniciada na porta padrão 8080.

  1. Acesso e Documentação (Swagger UI) Após a inicialização, a documentação interativa estará acessível:

🔗 Swagger UI URL: http://localhost:8080/swagger-ui.html

  1. Teste Inicial (POST Aninhado de Usuário) O requisito de persistência aninhada (Usuario com Perfil e Playlist) foi implementado com sucesso. Para testar o endpoint principal, faça uma requisição POST para http://localhost:8080/usuarios com o seguinte corpo JSON:

Método: POST URL: http://localhost:8080/usuarios Body (JSON):

JSON

{ "nome": "Lucca Zappala Jurado", "email": "luccazappala@gmail.com", "perfil": { "telefone": "993236682", "dataNascimento": "2001-09-05" // Data de nascimento está no passado para passar na validação @Past }, "playlists": [ { "nome": "Relax", "descricao": "Músicas para relaxar a cabeça depois de passar horas fazendo API" } ] }

About

Trabalho individual valendo 30 pontos da matéria de API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages