REST (Representational State Transfer) API – někdy označované jako RESTful AP – je rozhraní API, které využívá požadavky HTTP k přístupu a využívání zdrojů.

Tyto zdroje jsou často reprezentovány ve formátu JSON, i když v některých případech se používá formát XML, text a HTML. Rozhraní REST API se stala standardním způsobem, jak si aplikace vyměňují data po síti prostřednictvím metod HTTP, jako jsou GET, PUT, POST a DELETE. Usnadňují vytváření, čtení, aktualizaci a mazání zdrojů běžně označovaných jako operace CRUD.

Tato příručka se zabývá tím, jak můžete použít Node. JS k vytvoření jednoduchého CRUD Restful API.

Co musíte dodržovat

Ujistěte se, že máte na místním počítači nainstalovaný Node.js. Běh uzel -v zkontrolovat, zda Node. JS je nainstalován. Tento příkaz by měl vrátit číslo verze.

Příbuzný: Jak nainstalovat Node.js na Windows

Měli byste mít také funkční instanci svého oblíbeného textový editor (např. kód VS).

Nastavení projektu

Vytvořte složku pro svou aplikaci a přejděte do ní. Na terminálu a v adresáři, který jste právě vytvořili, proveďte inicializaci

instagram viewer
package.json běháním npm init.

$ npm init -y 

The package.json vám pomůže nainstalovat a spravovat balíčky npm. The -y flag vytvoří soubor package.json pomocí výchozích možností, aniž byste museli nastavovat jednotlivé podrobnosti. Výstup na vašem terminálu by měl vypadat takto. Všimněte si, že název se bude lišit v závislosti na tom, jak jste složku pojmenovali.

Nastavte server

Chcete-li vytvořit server, nejprve nainstalujte Express.js a Nodemon. Express.js je uzel. Js framework, který byl navržen tak, aby usnadnil vývoj webových aplikací a rozhraní API. Budete to používat k nakonfigurovat server a koncové body API. Nodemon na druhé straně je vývojový nástroj, který restartuje váš server, když se změní kód vaší aplikace.

Pro instalaci spusťte následující příkaz vyjádřit a nodemon:

npm i express nodemon 

Dále pro vytvoření serveru vytvořte soubor a zavolejte jej server.js poté přidejte následující kód.

// Vyžadovat expres
const express = require("express");
// Inicializuje expresní
const app = express();
const PORT = 8080;
// analyzovat JSON
app.use (express.json());
// analyzovat data zakódovaná v URL
app.use (express.urlencoded({ extend: true }));
// vytvořit server
app.listen (PORT, () => {
console.log(`Server běží na portu ${PORT}`);
});

Ve výše uvedeném kódu požadujte express in your server.js soubor a inicializujte jej. Poté nakonfigurujte Express pro analýzu dat kódovaných JSON a URL. Nakonec vytvořte server pomocí poslouchat() metoda od Express.

Příbuzný: Co je Express.js a proč byste jej měli používat?

Začínáme: Vytvořte pole pro ukládání uživatelských dat

Pro zjednodušení nebudete používat databázi, ale spíše jednoduché uživatelské pole. Do souboru app.js přidejte následující kód za řádek, který analyzuje data zakódovaná v URL.

const users = [{
id: 1,
jméno: "Jane Doe",
věk: "22",
},
{
id: 2,
jméno: "John Doe",
věk: "31",
}];

Příbuzný: Jak vytvořit databázi a kolekci v MongoDB

Jak nastavit trasy v Express.js

Chcete-li provádět operace s vašimi daty, musíte nastavit směrování. Trasy určí, jak bude vaše aplikace reagovat na požadavky zaslané konkrétnímu koncovému bodu. Každá trasa má metodu HTTP, adresu URL a funkci obsluhy, která zpracovává požadavek a odpověď HTTP. Chcete-li nastavit trasy, přidejte k sobě následující server.js soubor po vašem uživatelů pole.

app.post('/create', (req, res) => {
// Vytvořte uživatele
});
app.get('/users', (req, res) => {
// Načte všechny uživatele
});
app.get('/user/:userID', (req, res) => {
// Vrátí uživatele podle ID
});
app.put('/user/:userID', (req, res) => {
// Aktualizace uživatele podle ID
});
app.delete('/delete/:userID', (req, res) => {
// Smazání uživatele podle ID
});
app.delete('/users', (req, res) => {
// Smazat všechny uživatele
});

Jak provádět operace CRUD v Node. Js

Musíte vytvořit funkce, které budou manipulovat s uživatelskými daty a vracet odpověď podle odpovídající trasy. Tyto funkce budou vytvářet, číst, aktualizovat a mazat uživatelská data.

Příbuzný: Jak provádět operace CRUD v MongoDB

Jak vytvořit nového uživatele

Chcete-li vytvořit nového uživatele, budete potřebovat:

  • Zkontrolujte, zda je tělo požadavku prázdné – pokud ano, zašlete chybovou odpověď.
  • Extrahujte uživatelská data z těla požadavku.
  • Ověřte uživatelská data.
  • Přeneste uživatelská data do pole.

Všimněte si, že pole používáte pouze pro účely zjednodušení. Ve scénáři reálného případu byste interagovali s databází.

Upravte trasu POST, jak je uvedeno níže.

app.post("/create", (req, res) => {
// Zkontrolujte, zda je tělo požadavku prázdné
if (!Object.keys (req.body).length) {
return res.status (400).json({
zpráva: "Tělo požadavku nemůže být prázdné",
});
}
// Použijte destrukci objektu k získání jména a věku
const { jméno, věk } = req.body;
if (!jméno || !věk) {
res.status (400).json({
zpráva: "Ujistěte se, že jste odeslali jméno i věk",
});
}
const newUser = {
id: users.length + 1,
název,
stáří,
};
Snaž se {
users.push (newUser);
res.status (201).json({
zpráva: "Úspěšně vytvořen nový uživatel",
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se vytvořit uživatele",
});
}
});

Jak číst uživatele

Chcete-li načíst všechny uživatele, vraťte ve své odpovědi pole users.

app.get("/users", (req, res) => {
Snaž se {
res.status (200).json({
uživatelů
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se načíst všechny uživatele",
});
}
});

Pokud tuto cestu otestujete pomocí postman, měli byste v těle odpovědi obdržet pole uživatelů.

Chcete-li načíst pouze jednoho uživatele:

  • Získejte ID uživatele z parametru URL.
  • Použití nalézt() k identifikaci konkrétních uživatelských údajů, které požadujete.
  • Vraťte uživatele v odpovědi.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
Snaž se {
let user = users.find((user) => user.id id);
if (!user) {
return res.status (404).json({
zpráva: "Uživatel nenalezen",
});
}
res.status (200).json({
uživatel,
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se načíst uživatele",
});
}
});

Jak aktualizovat uživatele

Aktualizace uživatele:

  • Získejte ID uživatele z adresy URL.
  • Použití nalézt() zkontrolovat, zda uživatel existuje.
  • Použití indexOf() získat index odkazovaného uživatele.
  • Pomocí indexu upravte uživatelská data pomocí dat odeslaných prostřednictvím těla požadavku.
app.put("/users/:userID", (req, res) => {
Snaž se {
const id = parseInt (req.params.userID);
let user = users.find((user) => user.id id);
if (!user) {
return res.status (404).json({
zpráva: "Uživatel nenalezen",
});
}
const userIDX = users.indexOf (user);
users[userIDX].name = req.body.name || users[IDX].jméno;
users[userIDX].age = req.body.age || users[userIDX].věk;
res.status (200).json({
zpráva: "Uživatel byl úspěšně aktualizován",
uživatel,
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se načíst uživatele",
});
}
});

Jak odstranit uživatele

Můžete se rozhodnout smazat jednoho uživatele nebo všechny uživatele.

Smazání jednoho uživatele:

  • Získejte ID uživatele z adresy URL
  • Použití nalézt() zkontrolovat, zda uživatel existuje
  • Použití findIndex() získat index odkazovaného uživatele.
  • Použití spoj () smazat uživatele v tomto indexu.
app.delete("/users/:userID", (req, res) => {
Snaž se {
const id = req.params.userID;
let userIDX = users.findIndex((user) => user.id id);
if (!userIDX) {
res.status (404).json({
zpráva: "Uživatel nenalezen",
});
}
users.splice (userIDX, 1);
res.status (200).json({
zpráva: "Uživatel byl úspěšně smazán",
uživatelé,
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se odstranit uživatele",
});
}
});

Chcete-li odstranit všechny uživatele, spojte celé pole.

app.delete("/users", (req, res) => {
Snaž se {
users.splice (0, users.length);
res.status (200).json({
zpráva: "Úspěšně smazáni všichni uživatelé",
uživatelé,
});
} catch (chyba) {
res.status (500).json({
zpráva: "Nepodařilo se odstranit uživatele",
X,
});
}
});

Zjistěte více o RESTful API

Tento tutoriál popisuje, jak vytvořit základní RESTful API v Node. JS. Naučili jste se, jak vytvořit expresní server, nastavit trasy a nakonec vytvořit funkce obsluhy, které komunikují s vašimi daty prostřednictvím požadavků/odpovědí HTTP.

Existují však některá zásadní témata, která zde nejsou pokryta, která byste měli dále prozkoumat, včetně toho, jak připojit vaši aplikaci k databázi, jako je MongoDB, a jak zabezpečit trasy.

Jak může databáze MongoDB lépe organizovat vaše data

MongoDB (od "humongous") je multiplatformní databáze orientovaná na dokumenty používaná jako alternativa k MySQL. Ale co to znamená?

Přečtěte si další

PodíltweetE-mailem
Související témata
  • Programování
  • JavaScript
  • API
O autorovi
Mary Gathoni (Zveřejněny 2 články)

Mary Gathoni je vývojář softwaru s vášní pro vytváření technického obsahu, který je nejen informativní, ale také poutavý. Když nekóduje nebo nepíše, ráda se poflakuje s přáteli a je venku.

Více od Mary Gathoni

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem