Sodobne spletne aplikacije delujejo na principu ločenega zaledja (backend) in čelnega dela (frontend). To pomeni, da vaša spletna stran ali simulator ne komunicira z bazo podatkov neposredno, temveč preko vmesnika, ki mu pravimo API (Application Programming Interface). API sprejme zahtevo, pridobi podatke in jih vrne v univerzalni JSON obliki.
V tem vodiču si bomo pogledali, kako zgraditi vaš prvi preprost REST API v okolju Node.js z uporabo izjemno hitrega in priljubljenega ogrodja Express.js.
1. Priprava projekta in namestitev Express.js
Preden začnemo pisati kodo, moramo v mapi našega projekta inicializirati Node.js okolje in namestiti Express knjižnico preko npm terminala.
# Inicializacija novega Node.js projekta (ustvari package.json) npm init -y # Namestitev Express.js ogrodja npm install express
2. Pisanje API strežnika (server.js)
Ustvarite datoteko server.js. V njej bova pripravila osnovne poti (endpoints), ki bodo obiskovalcem ali vaši spletni strani vračale testne
podatke o tabelah v JSON obliki:
const express = require('express');
const app = express();
const PORT = 3000;
// Omogočimo, da Express avtomatsko prepozna JSON podatke v zahtevah
app.use(express.json());
// Testni podatki (v realnem projektu bi to potegnili iz MySQL baze)
const testneTabele = [
{ id: 1, ime: 'stranke', vrstice: 150 },
{ id: 2, ime: 'objave', vrstice: 16 },
{ id: 3, ime: 'nastavitve', vrstice: 5 }
];
// 1. Pot: Osnovni pozdrav (GET zahteva)
app.get('/', (req, res) => {
res.send('Dobrodošli na mojem prvem Node.js API-ju!');
});
// 2. Pot: Pridobivanje vseh tabel v JSON obliki (GET zahteva)
app.get('/api/tabele', (req, res) => {
res.json(testneTabele);
});
// Zagon API strežnika
app.listen(PORT, () => {
console.log(`API strežnik uspešno teče na http://localhost:${PORT}`);
});
3. Zagon in testiranje delovanja
API zaženete v terminalu z ukazom:
node server.js
Sedaj odprite svoj brskalnik ali program (kot je Postman) in obiščite naslov: http://localhost:3000/api/tabele. Na zaslonu se bo izpisal čist in strukturiran JSON objekt:
[
{"id":1,"ime":"stranke","vrstice":150},
{"id":2,"ime":"objave","vrstice":16},
{"id":3,"ime":"nastavitve","vrstice":5}
]
Ta format lahko sedaj z JavaScriptom (preko funkcije fetch()) enostavno preberete kjerkoli na vaši dinamični spletni strani in podatke
izrišete v HTML obliki.