Un API REST (Representational State Transfer) – denumit uneori AP RESTful – este un API care utilizează cereri HTTP pentru a accesa și a utiliza resurse.
Aceste resurse sunt adesea reprezentate în format JSON, deși în unele ocazii sunt utilizate formatul XML, text și HTML. API-urile REST au devenit o modalitate standard pentru aplicații de a face schimb de date printr-o rețea prin metode HTTP precum GET, PUT, POST și DELETE. Ele facilitează crearea, citirea, actualizarea și ștergerea resurselor denumite în mod obișnuit operațiuni CRUD.
Acest ghid explorează modul în care puteți utiliza Node. JS pentru a crea un API CRUD Restful simplu.
Ce trebuie să urmați
Asigurați-vă că aveți Node.js instalat pe mașina dvs. locală. Alerga nodul -v pentru a verifica dacă Node. JS este instalat. Această comandă ar trebui să returneze numărul versiunii.
Legate de: Cum se instalează Node.js pe Windows
De asemenea, ar trebui să aveți o instanță funcțională a preferatului dvs editor de text (de exemplu, Cod VS).
Configurarea proiectului
Creați un folder pentru aplicația dvs. și navigați la el. Pe terminal și în directorul pe care tocmai l-ați creat, inițializați pachet.json prin alergare npm init.
$ npm init -y
The pachet.json vă va ajuta să instalați și să gestionați pachetele npm. The -y flag creează fișierul package.json folosind opțiunile implicite fără a fi necesar să configurați detaliile individuale. Ieșirea de pe terminalul dvs. ar trebui să arate așa. Rețineți că numele va fi diferit în funcție de numele pe care l-ați numit folderul.
Configurați serverul
Pentru a crea un server, mai întâi, instalați Express.js și Nodemon. Express.js este un Nod. Js, care a fost proiectat pentru a facilita dezvoltarea aplicațiilor web și a API-urilor. Îl vei folosi pentru configura serverul și punctele finale API. Nodemon, pe de altă parte, este un instrument de dezvoltare care vă va reporni serverul atunci când codul aplicației se schimbă.
Rulați următoarea comandă pentru a instala expres și nodemon:
npm i exprim nodemon
Apoi, pentru a vă crea serverul, creați un fișier și apelați-l server.js apoi adăugați următorul cod.
// Necesită expres
const express = require("express");
// Inițializați expres
const app = expres();
const PORT = 8080;
// analiza JSON
app.use (express.json());
// analizează datele codificate URL
app.use (express.urlencoded({ extins: true }));
// creează un server
app.listen (PORT, () => {
console.log(`Server rulează pe portul ${PORT}`);
});
În codul de mai sus, solicitați expres în dvs server.js fișier și inițializați-l. Apoi, configurați Express pentru a analiza datele codificate JSON și URL. În cele din urmă, creați un server folosind asculta() metoda de la Express.
Legate de: Ce este Express.js și de ce ar trebui să-l folosești?
Noțiuni introductive: creați o matrice pentru a stoca datele utilizatorului
Din motive de simplitate, nu veți folosi o bază de date, ci mai degrabă o simplă matrice de utilizatori. În app.js, adăugați următorul cod după linia care analizează datele codificate URL.
utilizatori const = [{
id: 1,
nume: „Jane Doe”,
vârsta: "22",
},
{
id: 2,
nume: „John Doe”,
vârsta: "31",
}];
Legate de: Cum se creează o bază de date și o colecție în MongoDB
Cum să configurați rute în Express.js
Pentru a efectua operațiuni asupra datelor dvs., trebuie să configurați rutarea. Rutele vor determina modul în care aplicația dvs. va răspunde la solicitările făcute către un anumit punct final. Fiecare rută are o metodă HTTP, o adresă URL și o funcție de gestionare care se ocupă de cererea și răspunsul HTTP. Pentru a configura rutele, adăugați următoarele la dvs server.js dosar după dvs utilizatorii matrice.
app.post('/create', (req, res) => {
// Creați un utilizator
});
app.get('/users', (req, res) => {
// Preia toți utilizatorii
});
app.get('/user/:userID', (req, res) => {
// Returnează un utilizator după ID
});
app.put('/user/:userID', (req, res) => {
// Actualizați un utilizator după ID
});
app.delete('/delete/:userID', (req, res) => {
// Ștergeți un utilizator după ID
});
app.delete('/users', (req, res) => {
// Ștergeți toți utilizatorii
});
Cum se efectuează operațiuni CRUD în Node. Js
Trebuie să creați funcțiile care vor manipula datele utilizatorului și vor returna un răspuns conform rutei potrivite. Aceste funcții vor crea, citi, actualiza și șterge datele utilizatorului.
Legate de: Cum se efectuează operațiuni CRUD în MongoDB
Cum se creează un utilizator nou
Pentru a crea un utilizator nou, va trebui să:
- Verificați dacă corpul solicitării este gol; dacă este, trimiteți un răspuns de eroare.
- Extrageți datele utilizatorului din corpul solicitării.
- Validați datele utilizatorului.
- Împingeți datele utilizatorului în matrice.
Rețineți că utilizați o matrice doar pentru simplitate. Într-un caz real, ați interacționa cu o bază de date.
Editați-vă ruta POST ca mai jos.
app.post("/create", (req, res) => {
// Verificați dacă corpul cererii este gol
if (!Object.keys (req.body).length) {
returnează res.status (400).json({
mesaj: „Corpul cererii nu poate fi gol”,
});
}
// Folosiți destructurarea obiectelor pentru a obține numele și vârsta
const { nume, vârstă } = req.body;
daca (!nume || !varsta) {
res.status (400).json({
mesaj: „Asigurați-vă că ați trimis atât numele, cât și vârsta”,
});
}
const newUser = {
id: users.length + 1,
Nume,
vârstă,
};
încerca {
users.push (newUser);
res.status (201).json({
mesaj: „S-a creat un utilizator nou”,
});
} captură (eroare) {
res.status (500).json({
mesaj: „Nu s-a putut crea utilizatorul”,
});
}
});
Cum să citiți utilizatorii
Pentru a prelua toți utilizatorii, returnați matricea de utilizatori în răspunsul dvs.
app.get("/utilizatori", (req, res) => {
încerca {
res.status (200).json({
utilizatorii
});
} captură (eroare) {
res.status (500).json({
mesaj: „Eșuat la preluarea tuturor utilizatorilor”,
});
}
});
Dacă testați această rută folosind poștaș, ar trebui să primiți matricea de utilizatori în corpul răspunsului.
Pentru a prelua un singur utilizator:
- Obțineți ID-ul utilizatorului din parametrul URL.
- Utilizare găsi() pentru a identifica datele de utilizator specifice pe care le solicitați.
- Returnează utilizatorul în răspuns.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
încerca {
let user = users.find((user) => user.id id);
dacă (!utilizator) {
returnează res.status (404).json({
mesaj: „Utilizatorul nu a fost găsit”,
});
}
res.status (200).json({
utilizator,
});
} captură (eroare) {
res.status (500).json({
mesaj: „Eșuat la preluarea utilizatorului”,
});
}
});
Cum se actualizează utilizatorii
Pentru a actualiza utilizatorul:
- Preluați ID-ul utilizatorului de la adresa URL.
- Utilizare găsi() pentru a verifica dacă utilizatorul există.
- Utilizare Index de() pentru a obține indexul utilizatorului la care se face referire.
- Utilizați indexul pentru a edita datele utilizatorului cu datele trimise prin corpul solicitării.
app.put("/users/:userID", (req, res) => {
încerca {
const id = parseInt (req.params.userID);
let user = users.find((user) => user.id id);
dacă (!utilizator) {
returnează res.status (404).json({
mesaj: „Utilizatorul nu a fost găsit”,
});
}
const userIDX = users.indexOf (utilizator);
utilizatorii[userIDX].name = req.body.name || utilizatorii[userIDX].nume;
utilizatori[userIDX].age = req.body.age || utilizatori[userIDX].vârstă;
res.status (200).json({
mesaj: „Utilizator actualizat cu succes”,
utilizator,
});
} captură (eroare) {
res.status (500).json({
mesaj: „Eșuat la preluarea utilizatorului”,
});
}
});
Cum să ștergeți utilizatori
Puteți alege să ștergeți un utilizator sau toți utilizatorii.
Pentru a șterge un utilizator:
- Preluați ID-ul utilizatorului de la adresa URL
- Utilizare găsi() pentru a verifica dacă utilizatorul există
- Utilizare findIndex() pentru a obține indexul utilizatorului la care se face referire.
- Utilizare lipitură() pentru a șterge utilizatorul de la acel index.
app.delete("/users/:userID", (req, res) => {
încerca {
const id = req.params.userID;
let userIDX = users.findIndex((user) => user.id id);
dacă (!userIDX) {
res.status (404).json({
mesaj: „Utilizatorul nu a fost găsit”,
});
}
users.splice (userIDX, 1);
res.status (200).json({
mesaj: „Utilizator șters cu succes”,
utilizatori,
});
} captură (eroare) {
res.status (500).json({
mesaj: „Ștergerea utilizatorului a eșuat”,
});
}
});
Pentru a șterge toți utilizatorii, îmbinați întreaga matrice.
app.delete("/utilizatori", (req, res) => {
încerca {
users.splice (0, users.length);
res.status (200).json({
mesaj: „Toți utilizatorii s-au șters cu succes”,
utilizatori,
});
} captură (eroare) {
res.status (500).json({
mesaj: „Ștergerea utilizatorilor a eșuat”,
X,
});
}
});
Aflați mai multe despre API-urile RESTful
Acest tutorial discută cum să creați un API RESTful de bază în Node. JS. Ați învățat cum să creați un server Express, să configurați rute și, în sfârșit, să creați funcții de gestionare care interacționează cu datele dvs. prin solicitări/răspunsuri HTTP.
Există totuși câteva subiecte esențiale care nu sunt acoperite aici pe care ar trebui să le cercetați în continuare, inclusiv cum să vă conectați aplicația la o bază de date precum MongoDB și cum să securizați rutele.
MongoDB (de la „humongous”) este o bază de date multiplatformă orientată spre documente, folosită ca alternativă la MySQL. Dar ce înseamnă asta?
Citiți în continuare
- Programare
- JavaScript
- API
Mary Gathoni este un dezvoltator de software cu o pasiune pentru crearea de conținut tehnic care nu este doar informativ, ci și antrenant. Când nu codifică sau nu scrie, îi place să iasă cu prietenii și să fie în aer liber.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona