Me teeme rakenduse, kus saame lisada ja saada andmeid massiivist, kus on salvestatud „Widgets“.
1. Loo töölauale kaust rest–api
2. Käivita koodiredaktor (nt VS Code, WebStorm vms) ja ava see kaust projektina
3. Loo kausta fail index.js järgneva sisuga:
JavaScript
const express = require('express'); // impordib Express.js raamistiku, mis on populaarne Node.js baasil töötav raamistik API-de loomiseks.
const cors = require('cors'); // impordib cors paketi, mis võimaldab lisada CORS päiseid vastustele, mis lubab API-d kasutada brauserist, kui API server ja brauseris töötav klient ei asu samas domeenis.
const app = express(); // loob Expressi rakenduse eksemplari (objekt app).
app.use(cors()); // Avoid CORS errors in browsers
app.use(express.json()) // Populate req.body
const widgets = [
{ id: 1, name: "Cizzbor", price: 29.99 },
{ id: 2, name: "Woowo", price: 26.99 },
{ id: 3, name: "Crazlinger", price: 59.99 },
]
// defineerivad massiivi nimega widgets, mis sisaldab kolme elementi — objekte, millest igaühel on atribuudid id, name ja price.
// Widget on üldine nimetus näidisandmete esindamiseks. Näiteks filmide andmebaasi puhul kasutaksime sõna movie asemel widget.
app.get('/widgets', (req, res) => {
res.send(widgets)
})
app.get('/widgets/:id', (req, res) => {
if (typeof widgets[req.params.id - 1] === 'undefined') {
return res.status(404).send({ error: "Widget not found" })
}
res.send(widgets[req.params.id - 1])
})
app.post('/widgets', (req, res) => {
if (!req.body.name || !req.body.price) {
return res.status(400).send({ error: 'One or all params are missing' })
}
let newWidget = {
id: widgets.length + 1,
price: req.body.price,
name: req.body.name
}
widgets.push(newWidget)
res.status(201).location('localhost:8080/widgets/' + (widgets.length - 1)).send(
newWidget
)
})
// määratlevad lõpp-punkti POST /widgets, mis lisab widgets massiivi uue elemendi.
// saadavad päringu edukal töötlemisel vastuseks staatuse 201.
// Kustutamine
app.delete('/widgets/:id', (req, res) => {
if (typeof widgets[req.params.id - 1] === 'undefined') {
return res.status(404).send({ error: "Widget not found"})
}
widgets.splice(req.params.id - 1, 1)
res.status(204).json({success: true})
})
app.listen(8080, () => {
console.log(`API up at: http://localhost:8080`)
})
// käivitavad meetodi listen(), mis alustab serveri kuulamist pordil 8080. Valikulise teise argumendina prinditakse konsooli teade, millisel aadressil rakendus kättesaadav on.Sisestame konsolis need commands ja käivitame
npm install express cors
node index.js
HTTP ( POSTMAN )
Avame VS Code ja leiame Postman’i ja alla laadime

Loome GET’i päring andmete widget’i näitamiseks

Loome GET’i päring andmete widget’i näitamiseks valitud id

Loome POST’i päring widget’i loomiseks
( Valime body’is “raw” ja valime “JSON” ja sisestame andmete )

Loome DELETE päring widget’i kustutamiseks


Kokkuvõtte
Kõik kasutatud päringud töötavad ( GET, POST, DELETE )
