Para fazermos requisições, vamos transformar nosso projeto em uma API, faremos via postman, que você pode encontrar aqui: https://www.postman.com/downloads/. Instale-o antes de continuarmos para as próximas etapas para utilizarmos mais à frente.
Vamos criar uma pasta nova chamada “src” e dentro dela, colocaremos o nosso arquivo index.js e também criaremos um arquivo chamado routes.js
Em seguida, vamos criar uma pasta chamada Controllers, e dentro dela, um arquivo chamado “PlanetController.js”, onde colocaremos os nossos métodos CRUD!
Vamos fazer a configuração de routes.js: nele teremos algumas instruções de por onde acessaremos as rotas de CRUD:
const express = require("express");
const routes = express.Router();
const PlanetController = require("../Controllers/PlanetController");
// Rotas de Planets
routes.post("/planets", PlanetController.store);
module.exports = routes;
Vamos configurar também o arquivo “index.js” que terá algumas informações novas, já que iremos separar os métodos dentro do controller.
const express = require("express");
const routes = require("./routes");
const app = express();
app.use(express.json());
app.use(routes);
app.listen(3000);
Temos o nosso arquivo de rotas criado, então vamos partir para Controller,onde teremos os nossos métodos. O primeiro será POST!
const Planet = require("../models/Planet");
module.exports = {
async store(req, res) {
const { name, position } = req.body;
const planet = await Planet.create({ name, position });
return res.json(planet);
},
};
Vamos instalar o nodemon, pois é através dele que vamos realizar as requisições. Utilize o comando: npm install nodemon --save-dev. Em seguida, vamos subir o nosso server utilizando o comando “npx nodemon src/index.js”. No postman, criamos uma pasta chamada API e dentro dela, outra pasta chamada planet, onde faremos uma request chamada de POST, colocando o link: http://localhost:3000/planets
Em seguida, você vai em body > raw e escolha a opção do tipo de arquivo de Text para JSON, para criar um arquivo JSON no body com as informações que precisam ser passadas.
{
"name": "Terra",
"position": 3
}
Agora iremos criar um método GET, que terá a busca de todos os planetas. No postman, dentro da pasta, inserimos uma request GET, que terá o link “http://localhost:3000/planets”.
Em routes, iremos adicionar um método GET com o nome planets.