-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
102 lines (69 loc) · 2.14 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const express = require("express");
const { MongoClient } = require("mongodb");
const url = "mongodb://localhost:27017";
const dbName = "jornada-backend";
const client = new MongoClient(url);
async function main(){
console.info("conectando ao banco");
await client.connect();
console.info("Banco de dados conectado");
const db = client.db(dbName);
const collection = db.collection("herois");
const app = express();
// Habilitamos o processamento de JSON
app.use(express.json());
// Endpoint Principal
app.get("/", function (req, res) {
res.send("Hello World");
});
// Endpoint /oi
app.get("/oi", function (req, res) {
res.send("Olá, mundo!");
});
// Endpoints de Herois
const lista = ["Mulher Maravilha", "Capitã Marvel", "Homem de Ferro"];
// 0 1 2
// Read All -> [GET] /herois
app.get("/herois", function (req, res) {
res.send(lista.filter(Boolean));
});
// Create -> [POST] /herois
app.post("/herois", function (req, res) {
// console.log(req.body, typeof req.body);
// Extrai o nome do Body da Request (Corpo da Requisição)
const item = req.body.nome;
// Inserir o item na lista
lista.push(item);
// Enviamos uma resposta de sucesso
res.send("Item criado com sucesso!");
});
// Read By Id -> [GET] /herois/:id
app.get("/herois/:id", function (req, res) {
// Pegamos o parâmetro de rota ID
const id = req.params.id - 1;
// Pegamos a informação da lista
const item = lista[id];
// Exibimos o item na resposta do endpoint
res.send(item);
});
// Update -> [PUT] /herois/:id
app.put("/herois/:id", function (req, res) {
// Pegamos o parâmetro de rota ID
const id = req.params.id - 1;
// Extrai o nome do Body da Request (Corpo da Requisição)
const item = req.body.nome;
// Atualizamos a informação na lista de registros
lista[id] = item;
res.send("Item editado com sucesso!");
});
// Delete -> [DELETE] /herois/:id
app.delete("/herois/:id", function (req, res) {
// Pegamos o parâmetro de rota ID
const id = req.params.id - 1;
// Excluir o item da lista
delete lista[id];
res.send("Item excluído com sucesso!");
});
app.listen(3000);
}
main();