REST (Representational State Transfer) API – niekedy označované ako RESTful AP – je API, ktoré používa požiadavky HTTP na prístup a používanie zdrojov.

Tieto zdroje sú často reprezentované vo formáte JSON, hoci pri niektorých príležitostiach sa používa formát XML, text a HTML. Rozhrania REST API sa stali štandardným spôsobom pre aplikácie na výmenu údajov cez sieť prostredníctvom metód HTTP, ako sú GET, PUT, POST a DELETE. Uľahčujú vytváranie, čítanie, aktualizáciu a odstraňovanie zdrojov bežne označovaných ako operácie CRUD.

Táto príručka skúma, ako môžete použiť Node. JS na vytvorenie jednoduchého CRUD Restful API.

Čo musíte dodržiavať

Uistite sa, že máte na lokálnom počítači nainštalovaný súbor Node.js. Bežať uzol -v aby ste skontrolovali, či Node. JS je nainštalovaný. Tento príkaz by mal vrátiť číslo verzie.

Súvisiace: Ako nainštalovať Node.js na Windows

Mali by ste mať aj fungujúcu inštanciu svojho obľúbeného textový editor (napr. kód VS).

Nastavenie projektu

Vytvorte priečinok pre svoju aplikáciu a prejdite doň. Na termináli a v adresári, ktorý ste práve vytvorili, inicializujte

instagram viewer
package.json behom npm init.

$ npm init -y 

The package.json vám pomôže nainštalovať a spravovať balíčky npm. The -y flag vytvorí súbor package.json pomocou predvolených možností bez toho, aby ste museli nastavovať jednotlivé detaily. Výstup na vašom termináli by mal vyzerať takto. Upozorňujeme, že názov sa bude líšiť v závislosti od toho, ako ste pomenovali svoj priečinok.

Nastavte server

Ak chcete vytvoriť server, najprv nainštalujte Express.js a Nodemon. Express.js je uzol. Rámec Js, ktorý bol navrhnutý tak, aby zjednodušil vývoj webových aplikácií a rozhraní API. Využijete to na nakonfigurovať server a koncové body API. Nodemon je na druhej strane vývojový nástroj, ktorý reštartuje váš server, keď sa zmení kód vašej aplikácie.

Na inštaláciu spustite nasledujúci príkaz expresné a uzol:

npm i express nodemon 

Ďalej, ak chcete vytvoriť svoj server, vytvorte súbor a zavolajte ho server.js potom pridajte nasledujúci kód.

// Vyžadovať expresné
const express = vyžadovať("expres");
// Inicializácia expresu
const app = express();
const PORT = 8080;
// analyzovať JSON
app.use (express.json());
// analyzovať údaje zakódované v adrese URL
app.use (express.urlencoded({ extend: true }));
// vytvorte server
app.listen (PORT, () => {
console.log(`Server beží na porte ${PORT}`);
});

Vo vyššie uvedenom kóde požadujte výraz vo svojom server.js súbor a inicializujte ho. Potom nakonfigurujte Express na analýzu údajov kódovaných JSON a URL. Nakoniec vytvorte server pomocou počúvať () metóda od spoločnosti Express.

Súvisiace: Čo je Express.js a prečo by ste ho mali používať?

Začíname: Vytvorte pole na ukladanie používateľských údajov

Pre zjednodušenie nebudete používať databázu, ale skôr jednoduché užívateľské pole. Do súboru app.js pridajte nasledujúci kód za riadok, ktorý analyzuje údaje zakódované vo webovej adrese.

const users = [{
id: 1,
meno: "Jane Doe",
vek: "22",
},
{
id: 2,
meno: "John Doe",
vek: "31",
}];

Súvisiace: Ako vytvoriť databázu a kolekciu v MongoDB

Ako nastaviť trasy v Express.js

Ak chcete vykonávať operácie s vašimi údajmi, musíte nastaviť smerovanie. Trasy určia, ako bude vaša aplikácia reagovať na požiadavky konkrétnemu koncovému bodu. Každá trasa má metódu HTTP, adresu URL a funkciu obsluhy, ktorá spracováva požiadavku a odpoveď HTTP. Ak chcete nastaviť trasy, pridajte nasledujúce server.js súbor po vašom používateľov pole.

app.post('/create', (req, res) => {
// Vytvorenie používateľa
});
app.get('/users', (req, res) => {
// Obnoví všetkých používateľov
});
app.get('/user/:userID', (req, res) => {
// Vráti používateľa podľa ID
});
app.put('/user/:userID', (req, res) => {
// Aktualizácia používateľa podľa ID
});
app.delete('/delete/:userID', (req, res) => {
// Vymazanie užívateľa podľa ID
});
app.delete('/users', (req, res) => {
// Odstrániť všetkých používateľov
});

Ako vykonávať operácie CRUD v Node. Js

Musíte vytvoriť funkcie, ktoré budú manipulovať s používateľskými údajmi a vracať odpoveď podľa priradenej trasy. Tieto funkcie budú vytvárať, čítať, aktualizovať a odstraňovať používateľské údaje.

Súvisiace: Ako vykonávať operácie CRUD v MongoDB

Ako vytvoriť nového používateľa

Na vytvorenie nového používateľa budete potrebovať:

  • Skontrolujte, či je telo požiadavky prázdne – ak je, pošlite chybovú odpoveď.
  • Extrahujte údaje používateľa z tela požiadavky.
  • Overte používateľské údaje.
  • Presuňte používateľské údaje do poľa.

Všimnite si, že pole používate len na zjednodušenie. V skutočnom prípade by ste interagovali s databázou.

Upravte svoju trasu POST ako je uvedené nižšie.

app.post("/create", (req, res) => {
// Skontrolujte, či je telo požiadavky prázdne
if (!Object.keys (req.body).length) {
return res.status (400).json({
správa: "Telo požiadavky nemôže byť prázdne",
});
}
// Na získanie mena a veku použite deštrukciu objektu
const { meno, vek } = req.body;
if (!meno || !vek) {
res.status (400).json({
správa: "Uistite sa, že ste odoslali meno aj vek",
});
}
const newUser = {
id: users.length + 1,
názov,
Vek,
};
skúste {
users.push (newUser);
res.status (201).json({
správa: "Úspešne vytvorený nový používateľ",
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa vytvoriť používateľa",
});
}
});

Ako čítať používateľov

Ak chcete získať všetkých používateľov, vráťte vo svojej odpovedi pole používateľov.

app.get("/users", (req, res) => {
skúste {
res.status (200).json({
používateľov
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa načítať všetkých používateľov",
});
}
});

Ak otestujete túto cestu pomocou poštára, v tele odpovede by ste mali dostať pole používateľov.

Ak chcete získať iba jedného používateľa:

  • Získajte ID používateľa z parametra adresy URL.
  • Použite Nájsť() na identifikáciu, ktoré konkrétne používateľské údaje požadujete.
  • V odpovedi vráťte používateľa.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
skúste {
nech user = users.find((user) => user.id id);
if (!user) {
return res.status (404).json({
správa: "Používateľ sa nenašiel",
});
}
res.status (200).json({
užívateľ,
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa načítať používateľa",
});
}
});

Ako aktualizovať používateľov

Ak chcete aktualizovať používateľa:

  • Získajte ID používateľa z adresy URL.
  • Použite Nájsť() aby ste skontrolovali, či používateľ existuje.
  • Použite indexOf() získať index používateľa, na ktorého sa odkazuje.
  • Pomocou indexu upravte údaje používateľa pomocou údajov odoslaných cez telo požiadavky.
app.put("/users/:userID", (req, res) => {
skúste {
const id = parseInt (req.params.userID);
nech user = users.find((user) => user.id id);
if (!user) {
return res.status (404).json({
správa: "Používateľ sa nenašiel",
});
}
const userIDX = users.indexOf (user);
users[userIDX].name = req.body.name || users[IDX].meno;
users[userIDX].vek = req.body.age || users[userIDX].vek;
res.status (200).json({
správa: "Úspešne aktualizovaný používateľ",
užívateľ,
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa načítať používateľa",
});
}
});

Ako odstrániť používateľov

Môžete si vybrať odstránenie jedného používateľa alebo všetkých používateľov.

Ak chcete odstrániť jedného používateľa:

  • Získajte ID používateľa z adresy URL
  • Použite Nájsť() aby ste skontrolovali, či používateľ existuje
  • Použite findIndex() získať index používateľa, na ktorého sa odkazuje.
  • Použite spoj () na odstránenie používateľa v tomto indexe.
app.delete("/users/:userID", (req, res) => {
skúste {
const id = req.params.userID;
nech userIDX = users.findIndex((user) => user.id id);
if (!userIDX) {
res.status (404).json({
správa: "Používateľ sa nenašiel",
});
}
users.splice (userIDX, 1);
res.status (200).json({
správa: "Používateľ bol úspešne odstránený",
používatelia,
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa odstrániť používateľa",
});
}
});

Ak chcete odstrániť všetkých používateľov, spojte celé pole.

app.delete("/users", (req, res) => {
skúste {
users.splice (0, users.length);
res.status (200).json({
správa: "Všetci používatelia boli úspešne odstránení",
používatelia,
});
} catch (chyba) {
res.status (500).json({
správa: "Nepodarilo sa odstrániť používateľov",
X,
});
}
});

Prečítajte si viac o RESTful API

Tento tutoriál popisuje, ako vytvoriť základné RESTful API v Node. JS. Naučili ste sa, ako vytvoriť expresný server, nastaviť trasy a nakoniec vytvoriť funkcie obsluhy, ktoré interagujú s vašimi údajmi prostredníctvom požiadaviek/odpovedí HTTP.

Existuje však niekoľko základných tém, ktoré tu nie sú zahrnuté a ktoré by ste mali ďalej skúmať, vrátane toho, ako pripojiť vašu aplikáciu k databáze, ako je MongoDB, a ako zabezpečiť trasy.

Ako môže databáza MongoDB lepšie organizovať vaše údaje

MongoDB (od "humongous") je multiplatformová databáza orientovaná na dokumenty používaná ako alternatíva k MySQL. Ale čo to znamená?

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • Programovanie
  • JavaScript
  • API
O autorovi
Mary Gathoni (Uverejnené 2 články)

Mary Gathoni je softvérová vývojárka s vášňou pre vytváranie technického obsahu, ktorý je nielen informatívny, ale aj pútavý. Keď práve nekóduje alebo nepíše, rada sa stretáva s priateľmi a je vonku.

Viac od Mary Gathoni

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber