Projeto desenvolvido durante o Alura Challenges - Back End, com a proposta de criação de uma API seguindo o padrão REST para o recebimento de requisições e armazenamento de informações referentes aos vídeos da plataforma Aluraflix.
Crie uma nova categoria enviando uma requisição POST contendo os campos categoria
e cor
. Ambos são obrigatórios. Após o envio, receberá como resposta um JSON contendo as informações da categoria criada.
- id
- categoria
- cor
- updatedAt
- createdAt
Caso algum dos campos obrigatórios categoria
e/ou cor
não sejam preenchidos, receberá uma mensagem de erro {"error":"Campo(s) 'nomeDoCampo' não informado(s)."}.
Caso algum dos campos obrigatórios categoria
e/ou cor
não sejam enviados no formado aceito string, receberá uma mensagem de erro {"error":"Campo 'nomeDoCampo' inválido. Deve ser do tipo 'string'"}.
Se a requisição for enviada sem nenhum parâmetro, receberá a mensagem de erro: {"error":"Campo(s) não informado(s)."}.
Envie uma requisição GET para receber uma lista contendo todas as categorias criadas em formato JSON.
Lista de objetos contendo as seguintes informações de cada item:
- id
- categoria
- cor
- updatedAt
- createdAt
Caso o banco de dados não contenha nenhuma categoria, receberá uma mensagem de erro: {"error":"Categoria # não encontrada."}
Envie uma requisição GET, informando nos query params o número da página, para receber um JSON contendo cinco categorias de cada vez.
- objeto indicando se há página anterior
- objeto indicando página atual
- objeto indicando se há próxima página
Lista de objetos contendo as seguintes informações de cada item: - id
- categoria
- cor
- updatedAt
- createdAt
Caso o banco de dados não contenha nenhuma categoria, receberá uma mensagem de erro: {"error":"Categoria # não encontrada."}
Envie uma requisição GET utilizando o número do id
como parâmetro da requisição {idCategoria}
para receber um JSON com as informações da categoria a que o id
pertence.
- id
- categoria
- cor
- updatedAt
- createdAt
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}.
Envie uma requisição PATCH utilizando o número do id
como parâmetro da requisição {idCategoria}
, e informe no corpo da requisição os parâmetros que deseja alterar. Os parâmetros aceitos são categoria
e/ou cor
. Após o envio, receberá como resposta um JSON contendo as informações atualizadas da categoria editada.
- id
- categoria
- cor
- updatedAt
- createdAt
Se a requisição for enviada sem nenhum parâmetro, receberá a mensagem de erro: {"error":"Campo(s) não informado(s)."}.
Envie uma requisição DELETE utilizando o número do id
como parâmetro da requisição {idCategoria}
para excluir a categoria a que o id
se refere.
Mensagem informando o número do id
do objeto que foi excluído do banco de dados.
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}.
Crie um novo vídeo enviando uma requisição POST contendo os campos título
, url
e descricao
. Todos são obrigatórios. Informe nos parâmetros da requisição o id
da categoria a que este vídeo pertence.
Após o envio, receberá como resposta um JSON contendo as informações do vídeo criado.
- id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Caso um ou mais dos campos obrigatórios não sejam preenchidos, receberá uma mensagem de erro {"error":"Campo(s) 'nomeDoCampo' não informado(s)."}.
Caso algum dos campos obrigatórios não sejam enviados no formado aceito string, receberá uma mensagem de erro {"error":"Campo 'nomeDoCampo' inválido. Deve ser do tipo 'string'"}.
Se a requisição for enviada sem nenhum parâmetro, receberá a mensagem de erro: {"error":"Campo(s) não informado(s)."}.
Envie uma requisição GET, informando nos parâmetros da requisição o id
da categoria, para receber uma lista contendo todos os vídeos relacionados à mesma.
Lista de objetos contendo as seguintes informações de cada item:
- id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}.
Envie uma requisição GET, informando nos parâmetros da requisição o id
da categoria, e o id
do vídeo para exibir as informações de um único vídeo.
- id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Video #{idVideo} não encontrado."}.
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}.
Envie uma requisição PATCH utilizando os números de categoria_id
e id
como parâmetros da requisição {idCategoria}
e {idVideo}
, e informe no corpo da requisição os parâmetros que deseja alterar. Os parâmetros aceitos são titulo
, descricao
e/ou url
.
Após o envio, receberá como resposta um JSON contendo as informações atualizadas da categoria editada.
- id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Se a requisição for enviada sem nenhum parâmetro, receberá a mensagem de erro: {"error":"Campo(s) não informado(s)."}.
Envie uma requisição DELETE utilizando os números de categoria_id
e id
como parâmetros da requisição {idCategoria}
e {idVideo}
para excluir o respectivo vídeo.
Mensagem informando o número do id
do objeto que foi excluído do banco de dados.
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Video #{idVideo} não encontrado."}.
Caso informe um id
inexistente no banco de dados, receberá a mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}.
Envie uma requisição GET, com o título do vídeo nos query params, para exibir uma lista com todos os vídeos cujos títulos sejam correspondentes.
Lista de objetos contendo as seguintes informações de cada item:
- id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Caso envie a requisição com um título
inválido, receberá a mensagem de erro: {"error":"Video #{req.query.search} não encontrado."}.
Caso envie uma requisição sem query params, receberá a mensagem de erro {"error":"Campo(s) título não informado(s)."}.
Envie uma requisição GET, informando nos query params o número da página, para receber um JSON contendo cinco vídes de cada vez.
- objeto indicando se há página anterior
- objeto indicando página atual
- objeto indicando se há próxima página
Lista de objetos contendo as seguintes informações de cada item: - id
- titulo
- descricao
- url
- categoria_id
- createdAt
- updatedAt
Caso o banco de dados não contenha nenhum vídeo, receberá uma mensagem de erro: {"error":"Categoria #{idCategoria} não encontrada."}