Sissejuhatus
Selles harjutuses õppisin, kuidas luua lihtne REST API Node.js abil kasutades Express raamistikku ja cors paketti. Lisaks kasutasin terminalis xh tööriista HTTP päringute tegemiseks. Allpool on kirjeldatud kogu protsessi samm-sammult.
1. Node.js installimine
Esmalt paigaldasime Node.js, mis on vajalik JavaScripti käivitamiseks serveripoolselt.
2. Projekti loomine
Lõin töölauale kausta nimega rest-api ja avasin selle VS Code’is projektina.
3. index.js faili loomine
Lisasin faili index.js järgmise sisu (kopeeritud harjutuse lingilt) ning märkisin koodis eestikeelsed kommentaarid:
const express = require('express'); // Express raamistik HTTP serveri loomiseks
const cors = require('cors'); // CORS päiste lubamiseks
const app = express(); // Rakenduse initsialiseerimine
app.use(cors()); // Kõik päringud läbivad cors middleware
app.use(express.json()); // JSON andmete parsimine päringukehast
// Algandmed: massiiv vidinatest (widgets), igaüks koos id, nime ja hinnaga
const widgets = [
{ id: 1, name: 'Widget One', price: 10.0 },
{ id: 2, name: 'Widget Two', price: 20.0 },
{ id: 3, name: 'Widget Three', price: 30.0 },
];
// GET lõpp-punkt, mis tagastab kõik vidinad
app.get('/widgets', (req, res) => {
res.json(widgets);
});
// GET lõpp-punkt, mis tagastab vidina ID järgi või veateate
app.get('/widgets/:id', (req, res) => {
const id = parseInt(req.params.id);
const widget = widgets.find(w => w.id === id);
if (widget) {
res.json(widget);
} else {
res.status(404).send('Widget not found');
}
});
// POST lõpp-punkt uue vidina lisamiseks
app.post('/widgets', (req, res) => {
const { name, price } = req.body;
if (!name || price === undefined) {
return res.status(400).send('Missing parameters');
}
const id = widgets.length + 1;
const newWidget = { id, name, price };
widgets.push(newWidget);
res.status(201).json(newWidget);
});
// Serveri käivitamine pordil 8080
app.listen(8080, () => {
console.log('Server töötab aadressil http://localhost:8080');
});
4. Projekti algatamine terminalis
- Paigaldasin vajalikud paketid:
npm i express cors.

- Käivitasin serveri käsuga
node ..

5. xh tööriista kasutamine
Avame POSTMAN:

Käisin läbi mõned HTTP päringud:
- Loome GET’i päring andmete widget’i näitamiseks
[
{"id":1,"name":"Bogdan","age":"19"},
{"id":2,"name":"David","age":"18"},
{"id":3,"name":"Erik","age":"17"}
]
- Loome GET’i päring andmete widget’i näitamiseks valitud id
{"id":2,"name":"Bogdan","age":"18"}
- Loome POST’i päring widget’i loomiseks
{
"name": "Aleksander Nadvonry",
"age": 25
}
- Loome DELETE päring widget’i kustutamiseks
[
{"id":1,"name":"Bogdan","age":"19"},
{"id":3,"name":"Erik","age":"17"}
]
Kokkuvõte
Selle harjutuse käigus sain hea ülevaate, kuidas Node.js ja Express võimaldavad kiirelt luua REST API lõpp-punkte ning kuidas läbi käsurea tööriistade (xh) saad serverilt andmeid pärida või lisada. Väga kasulik praktika API-de loomiseks ja testimiseks.