-
API REST capaz de realizar o
C.R.U.D.
seguindo os padrões atuais, manipulando os valores de entrada, processando e retornando os dados, mensagens e status coerentes. -
A API deve seguir os princípios do desgin pattern
RESTful.
-
Manipulação de dados no padrão
JSON
. -
Os dados referentes à(s) entidade(s) devem ser persistidos em BD.
-
Isole as operações feitas diretamente no banco de dados em repositórios.
-
Retorno das requisições e status com semântica nas operações realizadas.
-
Tratamento de erros e exceções.
npm install
node src/app
- Preencha o arquivo
.env.example
- No terminal rode:
npx sequelize db:migrate
Use o link https://www.getpostman.com/collections/f0828cd4d38f61c8c9a7
para testar as rotas com o postman!
- Rota:
router.post('/create', usersController.create);
- Passe no body as seguintes informações: firstName, lastName, nickname, adress, bio;
- Rota:
router.get('/:nickname', usersController.get);
- Passe por paramêtro de rota o nickname do usuário que gostaria de visualizar
- Rota:
router.get('/', usersController.list);
- Passe por paramêtro de consulta o primeiro nome e/ou sobrenome dos usuários que gostaria de visualizar
- Rota:
router.put('/:id', usersController.update);
- Passe por paramêtro de rota o id do usuário que gostaria de editar
- Rota:
router.patch('/:id', usersController.updateNickname);
- Passe por paramêtro de rota o id do usuário que gostaria de editar o nickname
- Rota:
router.delete('/:id', usersController.delete);
- Passe por paramêtro de rota o id do usuário que gostaria de deletar
- id: string, (primário)(gerado automaticamente),
- name: string,
- lastname: string,
- nickname: string, (único) - máx. 30 caracteres
- address: string, // O endereço todo dentro da string
- bio: string, (opcional) - máx. 100 caracteres // breve descrição sobre o usuário
- createdAt: Date,
- updatedAt: Date
- Cria um novo usuário recebendo os dados pelo corpo da requisição: retorna os dados do usuário criado com status correspondente.
- Se nickname já existe, retornar status e mensagem de erro.
- Listar todos os usuários cadastrados filtrados pelos campos
nome
e/ousobrenome
, filtrados por parâmetros de consulta: retorna um array de usuários. - Listar um usuário pelo nickname passado como parâmetro: retorna um único usuário com nome, sobrenome e nickname.
- Alterar o sobrenome e o endereço do usuário recebido no corpo da requisição, baseado no id recebido como parâmetro de rota: retorna o usuário alterado com as novas informações.
- Alterar o nickname de um usuário recebido no corpo da requisição, baseado no id recebido como parâmetro de rota: retorna o usuário alterado com as novas informações.
- Se o nickname passado já existir, deve retornar status e mensagem de erro.
- Deletar um usuário baseado no id recebido como parâmetro de rota: retorna o status de sucesso.