https://github.com/eng-david/Alura_Challenge_Backend_5
API REST desenvolvida durante o challenge#01 de backend da Alura.
Esta API implementa as seguintes especificações:
- Rotas no padrão REST.
- Validações feitas conforme as regras de negócio.
- Base de dados para persistência das informações.
- Serviço de autenticação para acesso às rotas GET, POST, PUT e DELETE.
- Paginação das requisições.
- Autenticação Stateless com JWT.
- Todos os campos de vídeos e categorias devem ser obrigatórios e validados.
- A categoria com ID = 1, deve chamar LIVRE e caso ela não seja especificada na criação do vídeo, deve-se atribuir o ID = 1.
- Endpoint "GET /videos/free" com um número fixo de filmes disponível, sem a necessidade de autenticação.
- Rotas CRUD para videos
Retorna todos os videos:
GET /videos
Retorna video por id:
GET /videos/{id}
Deleta video por id:
DELETE /videos/{id}
Cria um novo vídeo:
POST /videos/
Atualiza um video por id:
PUT /videos/{id}
Busca um video pelo nome:
GET /videos/?search=
Mostra determinados videos sem necessidade de autenticação:
GET /videos/free
Mostra todos os videos de uma determinada categoria:
GET /categorias/{id}/videos/
- Rotas CRUD semelhantes também para as categorias em "/categorias"
Foi feito o Deploy da aplicação como um serviço Web na nuvem, utilizando a plataforma Amazon AWS.
(rota "/videos" com o devido token JWT, dados fictícios)
linguagem Java
Spring Boot
Maven
Banco de Dados MySQL
JWT - Json Web Token
Amazon AWS
- Caso a autenticação não seja válida, retornar uma mensagem informando Não autorizado ou Credenciais inválidas.
- Caso usuário e senha inválido, informar Usuário e senha inválido.
- Criar testes de unidade para os modelos e controller.
- Crie testes de integração.
- Colocar a API em produção, em algum provedor de cloud.