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
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.
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ší
- Programování
- JavaScript
- API
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.
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