aluraflix logo

O que é o AluraFlix

O AluraFlix é uma API REST de vídeos criada como parte do Alura Challenge Back-End 1 e desenvolvido por mim, Marco Antonio (Chufretalas).

Github

Endpoints

Para utilizar qualquer endpoint, excluindo os de autenticação e /api/videos/free, é necessário fazer login para gerar um token JWT

  • GET /api/videos/free

    Retorna os primeiros 25 videos da base de dados, sendo o único endpoint que não requer um token JWT.

  • GET /api/videos

    Retorna todos os videos cadastrados na base de dados.

    Search params:

    • ?search=[string]

      Busca por vídeos que incluem a string de busca no título.

    • ?page=[page_number]

      Ativa a paginação do resultado, sendo mostrados 5 vídeos por página.

  • GET /api/videos/[id]

    Retorna um video de acordo com a id indicada.

  • GET /api/categorias

    Retorna todas as categorias cadastradas.

  • GET /api/categorias/[id]

    Retorna uma categoria de acordo com a id indicada.

  • GET /api/categorias/[id]/videos

    Retorna todos os vídeos com a id de categoria indicada.

  • POST /api/videos

    Recebe um JSON no corpo da requisição com os campos titulo, descricao, url e, opcionalmente (mas não recomendado), id e cria uma nova entrada de video na base de dados.

  • POST /api/categorias

    Recebe um JSON no corpo da requisição com os campos titulo, cor e, opcionalmente (mas não recomendado), id e cria uma nova entrada de categoria na base de dados.

  • PUT/PATCH /api/videos/[id]

    Recebe um JSON no corpo da requisição com os campos titulo, descrição e/ou url, nesse caso, todos os campos são opcionais, mas ainda seguem suas respectivas regras e tipos de dados. Altera a o vídeo indicado pela id na url com as informações passadas no body, se alguma informação for inválida, por exemplo um titulo grande demais, o campo é ignorado e a edição procede normalmente.

  • PUT/PATCH /api/categorias/[id]

    Recebe um JSON no corpo da requisição com os campos titulo e/ou cor, nesse caso, todos os campos são opcionais, mas ainda seguem suas respectivas regras e tipos de dados. Altera a o vídeo indicado pela id na url com as informações passadas no body, se alguma informação for inválida, o campo é ignorado e a edição procede normalmente.

  • DELETE /api/videos/[id]

    Deleta o video indicado pela id na url.

  • DELETE /api/categorias/[id]

    Deleta a categoria indicada pela id na url.

  • POST /api/signup

    Envie um POST com 'nome' e 'senha' em JSON, se os campos forem válidos, a senha passa por hash e um novo usuário é criado no campo de dados.

  • POST /api/login

    Envie um POST com 'nome' e 'senha', se as credenciais forem válidas, retorna um token JWT que é necessário para quase todas as requisições da API. O token tem validade de uma hora.

  • POST /api/validar_token

    Envie um POST com 'token' em JSON para saber se o token em questão ainda é válido.