REST (Representational State Transfer) API – koji se ponekad naziva RESTful AP – je API koji koristi HTTP zahtjeve za pristup i korištenje resursa.

Ti su resursi često predstavljeni u JSON formatu, iako se u nekim slučajevima koriste XML, tekst i HTML format. REST API-ji su postali standardni način za aplikacije za razmjenu podataka preko mreže putem HTTP metoda kao što su GET, PUT, POST i DELETE. Oni olakšavaju stvaranje, čitanje, ažuriranje i brisanje resursa koji se obično nazivaju CRUD operacije.

Ovaj vodič istražuje kako možete koristiti Node. JS za stvaranje jednostavnog CRUD Restful API-ja.

Što trebate pratiti

Provjerite imate li instaliran Node.js na vašem lokalnom računalu. Trčanje čvor -v provjeriti je li Node. JS je instaliran. Ova bi naredba trebala vratiti broj verzije.

Povezano: Kako instalirati Node.js na Windows

Također biste trebali imati radnu instancu svog favorita uređivač teksta (npr. VS kod).

Postavljanje projekta

Napravite mapu za svoju aplikaciju i idite do nje. Na terminalu i u direktoriju koji ste upravo stvorili, inicijalizirajte paket.json trčanjem npm init.

instagram viewer
$ npm init -y 

The paket.json pomoći će vam instalirati i upravljati npm paketima. The -y flag stvara datoteku package.json koristeći zadane opcije bez potrebe da postavljate pojedinačne pojedinosti. Izlaz na vašem terminalu trebao bi izgledati ovako. Imajte na umu da će se naziv razlikovati ovisno o tome kako ste nazvali svoju mapu.

Postavite poslužitelj

Da biste stvorili poslužitelj, prvo instalirajte Express.js i Nodemon. Express.js je čvor. Js framework koji je dizajniran da olakša razvoj web aplikacija i API-ja. Iskoristit ćete ga za konfigurirati poslužitelj i krajnje točke API-ja. Nodemon je s druge strane razvojni alat koji će ponovno pokrenuti vaš poslužitelj kada se vaš programski kod promijeni.

Pokrenite sljedeću naredbu za instalaciju izraziti i nodemon:

npm i express nodemon 

Zatim, da biste stvorili svoj poslužitelj, stvorite datoteku i pozovite je server.js zatim dodajte sljedeći kod.

// Zahtijeva ekspresno
const express = zahtijevati("izraziti");
// Inicijaliziraj express
const app = express();
const PORT = 8080;
// analizirati JSON
app.use (express.json());
// analizirati URL kodirane podatke
app.use (express.urlencoded({ extended: true }));
// stvoriti poslužitelj
app.listen (PORT, () => {
console.log(`Poslužitelj radi na portu ${PORT}`);
});

U gornjem kodu zahtijevajte express u svom server.js datoteku i inicijalizirajte je. Zatim konfigurirajte express da analizira JSON i URL kodirane podatke. Konačno, stvorite poslužitelj pomoću slušati() metoda iz Expressa.

Povezano: Što je Express.js i zašto biste ga trebali koristiti?

Početak: Stvorite niz za pohranu korisničkih podataka

Radi jednostavnosti, nećete koristiti bazu podataka, već jednostavan korisnički niz. U svoj app.js dodajte sljedeći kôd nakon retka koji analizira URL kodirane podatke.

konstantni korisnici = [{
id: 1,
ime: "Jane Doe",
dob: "22",
},
{
id: 2,
ime: "John Doe",
dob: "31",
}];

Povezano: Kako stvoriti bazu podataka i kolekciju u MongoDB-u

Kako postaviti rute u Express.js

Da biste izvršili operacije nad svojim podacima, morate postaviti usmjeravanje. Rute će odrediti kako će vaša aplikacija odgovoriti na zahtjeve upućene određenoj krajnjoj točki. Svaka ruta ima HTTP metodu, URL i funkciju rukovatelja koja obrađuje HTTP zahtjev i odgovor. Da biste postavili rute, dodajte sljedeće na svoje server.js datoteku nakon vašeg korisnika niz.

app.post('/create', (req, res) => {
// Kreiraj korisnika
});
app.get('/users', (req, res) => {
// Dohvaća sve korisnike
});
app.get('/user/:userID', (req, res) => {
// Vraća korisnika po ID-u
});
app.put('/user/:userID', (req, res) => {
// Ažuriraj korisnika prema ID-u
});
app.delete('/delete/:userID', (req, res) => {
// Brisanje korisnika prema ID-u
});
app.delete('/users', (req, res) => {
// Izbriši sve korisnike
});

Kako izvesti CRUD operacije u čvoru. Js

Morate kreirati funkcije koje će manipulirati korisničkim podacima i vratiti odgovor prema usklađenoj ruti. Ove funkcije stvaraju, čitaju, ažuriraju i brišu korisničke podatke.

Povezano: Kako izvesti CRUD operacije u MongoDB-u

Kako stvoriti novog korisnika

Da biste stvorili novog korisnika, morat ćete:

  • Provjerite je li tijelo zahtjeva prazno - ako jest, pošaljite odgovor na pogrešku.
  • Izdvojite korisničke podatke iz tijela zahtjeva.
  • Potvrdite korisničke podatke.
  • Gurnite korisničke podatke u niz.

Imajte na umu da koristite niz samo u svrhu jednostavnosti. U stvarnom slučaju, vi biste bili u interakciji s bazom podataka.

Uredite svoju POST rutu kao u nastavku.

app.post("/create", (req, res) => {
// Provjerite je li tijelo zahtjeva prazno
if (!Object.keys (req.body).length) {
vrati res.status (400).json({
poruka: "Tijelo zahtjeva ne može biti prazno",
});
}
// Koristite destrukturiranje objekta da biste dobili ime i starost
const { ime, dob } = req.body;
ako (!ime || !dob) {
res.status (400).json({
poruka: "Provjerite da ste poslali i ime i godine",
});
}
const newUser = {
id: users.length + 1,
Ime,
dob,
};
probaj {
korisnici.push (noviKorisnik);
res.status (201).json({
poruka: "Uspješno kreiran novi korisnik",
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Kreiranje korisnika nije uspjelo",
});
}
});

Kako čitati korisnike

Da biste dohvatili sve korisnike, vratite niz korisnika u svom odgovoru.

app.get("/users", (req, res) => {
probaj {
res.status (200).json({
korisnika
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Neuspjelo dohvaćanje svih korisnika",
});
}
});

Ako testirate ovu rutu pomoću poštara, trebali biste primiti niz korisnika u tijelu odgovora.

Za dohvaćanje samo jednog korisnika:

  • Dobijte korisnički ID iz parametra URL-a.
  • Koristiti pronaći() kako biste identificirali koje specifične korisničke podatke tražite.
  • Vratite korisnika u odgovoru.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
probaj {
neka korisnik = users.find((korisnik) => ID korisnika);
ako (!korisnik) {
vrati res.status (404).json({
poruka: "Korisnik nije pronađen",
});
}
res.status (200).json({
korisnik,
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Dohvaćanje korisnika nije uspjelo",
});
}
});

Kako ažurirati korisnike

Za ažuriranje korisnika:

  • Dohvatite korisnički ID iz URL-a.
  • Koristiti pronaći() da provjeri postoji li korisnik.
  • Koristiti indexOf() da biste dobili indeks korisnika na kojeg se upućuje.
  • Koristite indeks za uređivanje korisničkih podataka s podacima poslanim kroz tijelo zahtjeva.
app.put("/users/:userID", (req, res) => {
probaj {
const id = parseInt (req.params.userID);
neka korisnik = users.find((korisnik) => ID korisnika);
ako (!korisnik) {
vrati res.status (404).json({
poruka: "Korisnik nije pronađen",
});
}
const userIDX = users.indexOf (korisnik);
korisnici[userIDX].ime = ime zahtjeva.tijela || korisnici[userIDX].ime;
korisnici[userIDX].dob = req.body.age || korisnici[userIDX].dob;
res.status (200).json({
poruka: "Uspješno ažuriran korisnik",
korisnik,
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Dohvaćanje korisnika nije uspjelo",
});
}
});

Kako izbrisati korisnike

Možete odabrati brisanje jednog ili svih korisnika.

Za brisanje jednog korisnika:

  • Dohvatite korisnički ID iz URL-a
  • Koristiti pronaći() da provjeri postoji li korisnik
  • Koristiti findIndex() da biste dobili indeks korisnika na kojeg se upućuje.
  • Koristiti spoj () za brisanje korisnika na tom indeksu.
app.delete("/users/:userID", (req, res) => {
probaj {
const id = req.params.userID;
neka userIDX = users.findIndex((korisnik) => user.id id);
if (!userIDX) {
res.status (404).json({
poruka: "Korisnik nije pronađen",
});
}
users.splice (userIDX, 1);
res.status (200).json({
poruka: "Uspješno obrisan korisnik",
korisnici,
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Brisanje korisnika nije uspjelo",
});
}
});

Da biste izbrisali sve korisnike, spojite cijeli niz.

app.delete("/users", (req, res) => {
probaj {
korisnici.splice (0, korisnici.dužina);
res.status (200).json({
poruka: "Svi korisnici uspješno izbrisani",
korisnici,
});
} uhvatiti (pogreška) {
res.status (500).json({
poruka: "Brisanje korisnika nije uspjelo",
x,
});
}
});

Saznajte više o RESTful API-jima

Ovaj vodič govori o tome kako stvoriti osnovni RESTful API u Nodeu. JS. Naučili ste kako stvoriti Express poslužitelj, postaviti rute i konačno, stvoriti funkcije rukovatelja koje komuniciraju s vašim podacima putem HTTP zahtjeva/odgovora.

Međutim, postoje neke bitne teme koje ovdje nisu obuhvaćene koje biste trebali dalje istražiti, uključujući kako povezati svoju aplikaciju s bazom podataka kao što je MongoDB i kako osigurati rute.

Kako MongoDB baza podataka može bolje organizirati vaše podatke

MongoDB (od "humongous") je baza podataka orijentirana na više platformi koja se koristi kao alternativa MySQL-u. Ali što to znači?

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Programiranje
  • JavaScript
  • API
O autoru
Mary Gathoni (Objavljena 2 članka)

Mary Gathoni je programer softvera sa strašću za stvaranje tehničkog sadržaja koji nije samo informativan već i privlačan. Kad ne kodira i ne piše, uživa u druženju s prijateljima i na otvorenom.

Više od Mary Gathoni

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu