Harjutus 1: 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

Ülesanne, mis tuleb täita.

Code

Faili nimetus on “index.js”

Vidinatega töötamiseks kausta loomine

// Kasutame moduleid
const express = require('express');
const cors = require('cors');

//Loome leht
const app = express();

app.use(cors());
app.use(express.json())

const widgets = [
    { id: 1, name: "David", age: "18"},
    { id: 2, name: "Martin", age: "18"},
    { id: 3, name: "Vsevolod", age: "18"}
]

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.age) {
        return res.status(400).send({ error: "One or all params missing"})
    }    
    let widget = {
        id: widgets.length + 1,
        name: req.body.name, 
        age: req.body.age
    }
    widgets.push(newWidget)
    req.status(201)
        .location('localhost:8080/widgets/' + (widgets.length - 1))
        .send(newWidget)

})

// Kustutamine
app.delete('/widgets/:id', (req, res) => {
    if (typeof widgets[req.params.id - 1] === 'undefined') {
            return res.status(404).send({"Widget not found"})
    }
    widgets.splice(req.params.id -1, 1)
    res.status(204).send()
})

app.listen(8080, () => {
    comsole.log('API up at: http://localhost:8080')
})

Sisestame konsolis need commands ja käivitame

Vidina väljund

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 )