Harjutus 1: REST API demo käima saamine

1. Paigalda Node.js
2. Loo töölauale kaust restapi 


3. Käivita koodiredaktor (nt VS Code, WebStorm vms) ja ava see kaust projektina


4. Loo kausta fail index.js järgneva sisuga:

index.js

// 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:"Vsevolod", vanus: "18"},
    {id: 2, name:"Bogdan", vanus: "17"},
    {id: 3, name:"Vlad", vanus: "17"},
    {id: 4, name:"Aleksander", vanus: "18"},
    {id: 5, name:"David", vanus: "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.price) {
        return res.status(400).send({error: "One or all params are missing"})
    }
    let newWidget = {
        id: widgets.length,
        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({error: "Widget not found"})
    }
    widgets.splice(req.params.id - 1, 1)
    req.status(204).send()
})

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

4. Avame terminali ja kirjutame sinna sisse npm start või node <faili mida on sull>

5. Avame Extations Visual code

Või teeme ctrl + shift + x

Kirjutame sisse Postman ja installime teda

6. registreerime seal ja avame VsCode

7. kirjutame http://localhost:8080/widgets

saame masiivi kus admed

8. Lisame andmed, vahetame body´s GET => POST, avame body => raw => valime JSON

9. Võtame body´s flagi DELETE ja kirjutame http://localhost:8080/widgets/<näiteks “2”>

Kokkuvõte:

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