REST API em Node.js e Express.js - Cadastro e manipulação de respostas e questões do projeto Rocketz
Nesta aplicação foram implementadas as seguintes fucionalidades: adicionar, listar, remover, buscar por título e id questões e respostas. Foi feito em Node usando a arquitetura REST.
-
Node.js 10.13.0
-
Postman 6.5.2
-
MongoDB 4.0.4
-
Express 4.16.4
-
Mongoose 5.3.12
-
Body-Parser 1.18.3
-
Nodemon (não é pré-requisito, mas facilita o uso)
- É necessário clonar o repositório com o comando
git clone https://github.com/leonatercio/rocketz-backend.git
- Entrar no diretório do projeto com
cd backend (para windows)
- Instalar todas as dependências utilizando
npm install dependencies
- Recomendo instalar o nodemon, utilizando
npm install nodemon
- Após isso rodar a aplicação utilizando
nodemon src/index.js
A seguir está uma configuração genérica de local host na porta 3000:
-
Listagem de questões - GET: http://localhost:3000/rocketz/questions/
. Em caso de sucesso retorna todas as questoes e suas respectivas respostas já cadastradas no banco de dados, cada questão no formato JSON, contendo enunciado, array de respostas, id, código, disciplina (id), categoria (ex.: humanas), data de criação e data de alteração.
-
Adicionar questão - POST: http://localhost:3000/rocketz/questions/adicionar
. Adiciona uma questão e suas respostas ao banco de dados, sendo necessário inserir o enunciado, disciplina (id), categoria (ex.: humanas) e respostas. O Id e o código são gerados automaticamente.
-
Buscar questão por Id - GET: http://localhost:3000/rocketz/questions/id/{inserir-id-aqui}
. Utiliza o Id gerado automaticamente quando a questão é adicionada ao banco de dados. Retorna o arquivo no formato JSON com sucesso caso exista. Para essa busca é necessário inserir o Id após /id/.
-
Buscar questão por enunciado ou palavra que contenha - GET: http://localhost:3000/rocketz/questions/title/{inserir-palavra-aqui}
. Utiliza o enunciado ou palavra que contenha da questão cadastrada, segue a mesma metodologia da busca pelo Id. Para essa busca é necessário inserir o enunciado ou palavra após /title/.
-
Deletar uma questão por Id - DELETE: http://localhost:3000/rocketz/questions/id/delete/{inserir-id-aqui}
. Remove a questão utilizando o Id que foi gerado automaticamente, utilizando o método DELETE.
Foram totalmente realizados no ambiente automatizado do Postman, onde foi criado uma collection com 5 testes, comprovando o sucesso de cada funcionalidade. O Postman é uma ferramenta extremamente útil para se testar manualmente ou automatizar os testes de qualquer API REST.
Essa API foi desenvolvida e documentada por Leonardo Lacerda (Rocketz Media).