Como Fazer Uma Rota De GET No NodeJS

Continuando a série sobre NodeJS, hoje irei mostrar como podemos fazer uma rota de GET com ele!
Caso tenha perdido, você pode ler sobre como criar uma rota de POST neste link aqui

Em nosso arquivo index.js iremos criar então as configurações desta nova rota:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const express = require('express');

const server = express();
server.use(express.json());

/**
* A variável `projects` pode ser `const` porque um `array`
* pode receber adições ou exclusões mesmo sendo uma constante.
*/
const projects = [
{id: 1, title: "Um novo post"}
];

server.get('/projects', (req, res) => {
return res.json(projects);
});

server.listen(4000);

A nossa rota GET é bem simples, ela irá nos retornar todos os projetos que armazenamos.
Se testarmos a nossa rota criada anteriormente, fazendo um POST e depois requisitarmos todos os projetos através desta nova rota, devemos ver o projeto recém criado!

Mas como faríamos se quiséssemos pegar um ID vindo da URL para fazer a consulta?
Não mudaria muito, a diferença que usaríamos os parâmetros de rota:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

const projects = [
{id: 1, title: "Um novo post"}
];

/**
* Aqui definimos que depois de projects
* teremos um valor que será enviado na URL
* e o chamamos de ID.
*/
server.get('/projects/:id', (req, res) => {
const { id } = req.params;
const project = projects.find(project => project.id == id);

return res.json(projects);
});

server.listen(4000);

Com isso, pegamos o ID vindo da URL e buscamos em todos os projetos, retornando apenas o projeto que for igual ao ID enviado!
Simples não é mesmo?