Node, Express a Postman

Miluji svobodu, kterou vám Node a Express poskytují při vytváření API. Poté, co jsem začal svou back-endovou cestu v Ruby on Rails, můj první dojem z Express nebyl skvělý kvůli chybějící struktuře v nastavení. Nicméně po několika tutoriálech a návodech jsem viděl krásu Node a Express. Pokud jde o Postmana, je to úžasná aplikace, která výrazně usnadňuje vytváření API a testování serverů, stáhněte si ji zde.
Účelem tohoto blogu je ukázat nastavení jednoduchého webového serveru v Node a Express a ukázat úžasnost Postmana.

Nastavení uzlu a expresního webového serveru

Nejprve se tedy ujistěte, že máte nainstalovaný Node a Express. Jakmile budete mít tyto spuštěny

npm install --save-dev nodemon 

To umožňuje, aby se vaše aplikace neustále aktualizovala spolu se změnami, které provedete v kódu. Nyní se všemi nastaveními závislostí spusťte npm init -y a ujistěte se, že váš soubor JSON vypadá takto:

{
  "name": "back_end",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "start": "nodemon index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1",
    "uuid": "^8.3.0"
  },
  "devDependencies": {
    "nodemon": "^2.0.4"
  }
}

Dobře, začněme nyní

Nejprve vytvořte soubor index.js a složku s názvem routes se souborem user.js. V souboru index.js je třeba před spuštěním serveru nastavit několik věcí. Nejprve importujte všechny své úžasné balíčky a věci

import express from 'express';
import bodyParser from 'body-parser';
import usersRoutes from './routes/users.js';

Poté musíte vytvořit expresní aplikaci a nastavit port, na kterém chcete, aby váš server běžel

const app = express();
const PORT = 5000;

V závislosti na tom, co váš server vrátí, se tento krok může lišit. Pokud plánujete používat něco jiného než JSON, podívejte se na dokumenty zde. Jinak nastavte aplikaci tak, aby používala JSON s funkcí bodyparser.json().

app.user(bodyParser.json());

Téměř tam už zbývá jen nastavit funkci posluchače a kořenovou cestu. Chcete-li nastavit posluchače, zavolejte app.listen() s proměnnou PORT jako prvním parametrem a funkcí, která má být volána při úspěšném běhu serveru jako druhým parametrem. Kořenová trasa vyžaduje, abyste zavolali app.get(), jak je znázorněno níže

app.listen(PORT, () => console.log(`Server running on PORT: http://localhost:${PORT}`));

app.get('/', (req, res) => res.send('Hello from Homepage'))

První argument funkce get nastavuje název trasy; například jsem nastavil trasu / výše. Druhý argument je funkce, která přebírá dva argumenty požadavek a odpověď. Argument požadavku nebo req jsou parametry odeslané na webovou stránku a pomocí nich získáme ID uživatele a později vytvoříme nové uživatele. Argument odezvy, neboli res, odesílá informace do prohlížeče pomocí res.send(). Když je vše hotovo, webový server je nastaven.

Nyní k dobré věci

V tuto chvíli toho webový server moc nedělá. Abychom to napravili, vytvoříme uživatelský index, show a post route (které ukážu v sekci pošťák).
Nejprve přejděte do users.js a importujte nějaké věci

import express from 'express';
import { v4 as uuidv4 } from 'uuid'; 

Poté nastavte expresní router. Router vytvoří miniaplikaci, která provádí middleware a funkce směrování podobné naší aplikaci v indexovém souboru. Router však nemůže odesílat ani přijímat informace.

const router = express.Router();

Aby požadavky na index a zobrazení fungovaly, musíte nejprve vytvořit dvě trasy v souboru user.js

const users = []

//using / because we will set up /users in index.js
router.get('/', (req, res) => {
    res.send(users); //displays users in the browser
})

router.get('/:id', (req, res) => {
    const { id } = req.params; //gets parameters from browser
    //namely the :id 
    let foundUser = users.find((user) => user.id === id);
    //gets user from list of users
    if (!foundUser){
        foundUser = {"error" : "User not found"} ;
        //if user not found return error
    }
    res.send(foundUser); //send user to browser
})
router.post('/', (req, res) =>{
    const user = req.body; //get post request content
    users.push({ "id": uuidv4(), ...user}); //add an id 
    res.send(users) //display updated users
})
export default router;

Nyní může první cesta vypadat, že překračuje práva ke kořenovému adresáři, ale není tomu tak. V index.js importujeme exportované uživatelské trasy a nastavíme jeho nadřazeného ředitele na /users. To pak připojí / nebo /:id; podle toho, co je požadováno v prohlížeči. V tomto okamžiku se můžeme podívat na všechny uživatele, každého jednotlivého uživatele a vytvořit nového uživatele, takže jsme hotovi.

POŠTÁK

Většina prohlížečů umožňuje uživatelům pouze implementovat požadavky na získání. Postman je aplikace, která umožňuje vývojářům přístup k jakémukoli typu dostupného požadavku. Napadá mě tolik projektů, které by tento projekt tolik usnadnil. Níže je několik snímků obrazovky, které jsem pořídil při testování webového serveru, který jsme vytvořili výše.