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.
$ 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.
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
- Programiranje
- JavaScript
- API
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.
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