API REST (Representational State Transfer) – včasih imenovan tudi RESTful AP – je API, ki uporablja zahteve HTTP za dostop in uporabo virov.

Ti viri so pogosto predstavljeni v obliki JSON, čeprav se v nekaterih primerih uporabljajo formati XML, besedilo in HTML. API-ji REST so postali standardni način za aplikacije za izmenjavo podatkov po omrežju z metodami HTTP, kot so GET, PUT, POST in DELETE. Omogočajo ustvarjanje, branje, posodabljanje in brisanje virov, ki se običajno imenujejo operacije CRUD.

Ta priročnik raziskuje, kako lahko uporabljate Node. JS, da ustvarite preprost CRUD Restful API.

Kaj morate spremljati

Prepričajte se, da imate Node.js nameščen na vašem lokalnem računalniku. teci vozlišče -v da preverite, ali je Node. JS je nameščen. Ta ukaz bi moral vrniti številko različice.

Povezano: Kako namestiti Node.js v Windows

Prav tako bi morali imeti delujoč primerek svojega najljubšega urejevalnik besedil (npr. koda VS).

Nastavitev projekta

Ustvarite mapo za svojo aplikacijo in se pomaknite do nje. Na terminalu in v imeniku, ki ste ga pravkar ustvarili, inicializirajte

instagram viewer
package.json s tekom npm init.

$ npm init -y 

The package.json vam bo pomagal namestiti in upravljati pakete npm. The -y flag ustvari datoteko package.json z uporabo privzetih možnosti, ne da bi vam bilo treba nastaviti posamezne podrobnosti. Izhod na vašem terminalu bi moral izgledati takole. Upoštevajte, da se bo ime razlikovalo glede na to, kako ste poimenovali svojo mapo.

Nastavite strežnik

Če želite ustvariti strežnik, najprej namestite Express.js in Nodemon. Express.js je vozlišče. Js okvir, ki je bil zasnovan za lažji razvoj spletnih aplikacij in API-jev. Uporabili ga boste za konfigurirajte strežnik in končne točke API. Nodemon je po drugi strani razvojno orodje, ki bo znova zagnalo vaš strežnik, ko se spremeni vaša programska koda.

Za namestitev zaženite naslednji ukaz ekspresno in nodemon:

npm i express nodemon 

Nato, da ustvarite svoj strežnik, ustvarite datoteko in jo pokličite server.js nato dodajte naslednjo kodo.

// Zahtevaj ekspresno
const express = zahteva ("express");
// Inicializiraj express
const app = express();
const PORT = 8080;
// razčleni JSON
app.use (express.json());
// razčleni URL kodirane podatke
app.use (express.urlencoded({ extended: true }));
// ustvarite strežnik
app.listen (PORT, () => {
console.log(`Strežnik, ki teče na vratih ${PORT}`);
});

V zgornji kodi zahtevajte express v vašem server.js datoteko in jo inicializirajte. Nato konfigurirajte express za razčlenitev podatkov, kodiranih v JSON in URL. Na koncu ustvarite strežnik z uporabo poslušaj() metoda iz Expressa.

Povezano: Kaj je Express.js in zakaj bi ga morali uporabljati?

Kako začeti: ustvarite matriko za shranjevanje uporabniških podatkov

Zaradi poenostavitve ne boste uporabljali baze podatkov, temveč preprosto niz uporabnikov. V aplikaciji.js dodajte naslednjo kodo za vrstico, ki razčlenjuje kodirane podatke URL.

stalni uporabniki = [{
id: 1,
ime: "Jane Doe",
starost: "22",
},
{
id: 2,
ime: "John Doe",
starost: "31",
}];

Povezano: Kako ustvariti bazo podatkov in zbirko v MongoDB

Kako nastaviti poti v Express.js

Za izvajanje operacij s svojimi podatki morate nastaviti usmerjanje. Poti bodo določale, kako se bo vaša aplikacija odzvala na zahteve določene končne točke. Vsaka pot ima metodo HTTP, URL in funkcijo rokovanja, ki obravnava zahtevo in odgovor HTTP. Če želite nastaviti poti, dodajte naslednje v svoj server.js datoteko po vašem uporabnikov niz.

app.post('/create', (req, res) => {
// Ustvari uporabnika
});
app.get('/users', (req, res) => {
// Prikliče vse uporabnike
});
app.get('/user/:userID', (req, res) => {
// Vrne uporabnika po ID-ju
});
app.put('/user/:userID', (req, res) => {
// Posodobi uporabnika po ID-ju
});
app.delete('/delete/:userID', (req, res) => {
// Izbriši uporabnika po ID-ju
});
app.delete('/users', (req, res) => {
// Izbriši vse uporabnike
});

Kako izvajati operacije CRUD v vozlišču. Js

Ustvariti morate funkcije, ki bodo manipulirale z uporabniškimi podatki in vrnile odgovor glede na ujemajočo se pot. Te funkcije bodo ustvarile, brale, posodabljale in brisale uporabniške podatke.

Povezano: Kako izvajati operacije CRUD v MongoDB

Kako ustvariti novega uporabnika

Če želite ustvariti novega uporabnika, boste morali:

  • Preverite, ali je telo zahteve prazno – če je, pošljite odgovor na napako.
  • Izvlecite uporabniške podatke iz telesa zahteve.
  • Potrdite uporabniške podatke.
  • Potisnite uporabniške podatke v matriko.

Upoštevajte, da matriko uporabljate samo zaradi poenostavitve. V resničnem primeru bi bili v interakciji z bazo podatkov.

Uredite svojo pot POST, kot je prikazano spodaj.

app.post("/create", (req, res) => {
// Preverite, ali je telo zahteve prazno
če (!Object.keys (req.body).length) {
vrni res.status (400).json({
sporočilo: "Telo zahteve ne more biti prazno",
});
}
// Uporabite destrukturiranje objekta, da dobite ime in starost
const {ime, starost } = req.body;
če (!ime || !starost) {
res.status (400).json({
sporočilo: "Prepričajte se, da ste poslali tako ime kot starost",
});
}
const newUser = {
id: users.length + 1,
ime,
starost,
};
poskusi {
users.push (novUser);
res.status (201).json({
sporočilo: "Uspešno ustvarjen nov uporabnik",
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Ustvarjanje uporabnika ni uspelo",
});
}
});

Kako brati uporabnike

Če želite pridobiti vse uporabnike, v odgovoru vrnite matriko uporabnikov.

app.get("/users", (req, res) => {
poskusi {
res.status (200).json({
uporabnikov
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Vsih uporabnikov ni bilo mogoče pridobiti",
});
}
});

Če preizkusite to pot s poštarjem, bi morali v telesu odgovora prejeti niz uporabnikov.

Če želite pridobiti samo enega uporabnika:

  • Pridobite ID uporabnika iz parametra URL.
  • Uporaba najti() da ugotovite, katere posebne uporabniške podatke zahtevate.
  • V odgovoru vrnite uporabnika.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
poskusi {
pusti uporabnik = users.find((uporabnik) => ID uporabnika);
če (!uporabnik) {
vrni res.status (404).json({
sporočilo: "Uporabnika ni mogoče najti",
});
}
res.status (200).json({
uporabnik,
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Uporabnika ni bilo mogoče pridobiti",
});
}
});

Kako posodobiti uporabnike

Za posodobitev uporabnika:

  • Pridobite ID uporabnika iz URL-ja.
  • Uporaba najti() da preverite, ali uporabnik obstaja.
  • Uporaba indeks() za pridobitev indeksa uporabnika, na katerega se sklicuje.
  • Uporabite indeks za urejanje uporabniških podatkov s podatki, poslanimi prek telesa zahteve.
app.put("/users/:userID", (req, res) => {
poskusi {
const id = parseInt (req.params.userID);
pusti uporabnik = users.find((uporabnik) => ID uporabnika);
če (!uporabnik) {
vrni res.status (404).json({
sporočilo: "Uporabnika ni mogoče najti",
});
}
const userIDX = users.indexOf (uporabnik);
uporabniki[userIDX].ime = req.body.name || uporabniki[userIDX].ime;
uporabniki[userIDX].starost = req.body.age || uporabniki[userIDX].starost;
res.status (200).json({
sporočilo: "Uspešno posodobljen uporabnik",
uporabnik,
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Uporabnika ni bilo mogoče pridobiti",
});
}
});

Kako izbrisati uporabnike

Izberete lahko, da izbrišete enega ali vse uporabnike.

Če želite izbrisati enega uporabnika:

  • Pridobite ID uporabnika iz URL-ja
  • Uporaba najti() da preverite, ali uporabnik obstaja
  • Uporaba findIndex() za pridobitev indeksa uporabnika, na katerega se sklicuje.
  • Uporaba spoj () da izbrišete uporabnika na tem indeksu.
app.delete("/users/:userID", (req, res) => {
poskusi {
const id = req.params.userID;
naj uporabnik IDX = users.findIndex((uporabnik) => ID uporabnika);
če (!userIDX) {
res.status (404).json({
sporočilo: "Uporabnika ni mogoče najti",
});
}
users.splice (userIDX, 1);
res.status (200).json({
sporočilo: "Uspešno izbrisan uporabnik",
uporabniki,
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Uporabnika ni bilo mogoče izbrisati",
});
}
});

Če želite izbrisati vse uporabnike, združite celotno matriko.

app.delete("/users", (req, res) => {
poskusi {
users.splice (0, users.length);
res.status (200).json({
sporočilo: "Vsi uporabniki so bili uspešno izbrisani",
uporabniki,
});
} ulov (napaka) {
res.status (500).json({
sporočilo: "Uporabnikov ni bilo mogoče izbrisati",
x,
});
}
});

Preberite več o RESTful API-jih

Ta vadnica obravnava, kako ustvariti osnovni API RESTful v Node. JS. Naučili ste se ustvariti strežnik Express, nastaviti poti in končno ustvariti funkcije za upravljanje, ki komunicirajo z vašimi podatki prek zahtev/odgovorov HTTP.

Vendar pa obstaja nekaj bistvenih tem, ki tukaj niso zajete, ki bi jih morali dodatno raziskati, vključno s tem, kako svojo aplikacijo povezati z bazo podatkov, kot je MongoDB, in kako zavarovati poti.

Kako lahko zbirka podatkov MongoDB bolje organizira vaše podatke

MongoDB (iz "humongous") je večplatformska dokumentno usmerjena baza podatkov, ki se uporablja kot alternativa MySQL. Toda kaj to pomeni?

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Programiranje
  • JavaScript
  • API
O avtorju
Marija Gathoni (2 objavljena članka)

Mary Gathoni je razvijalka programske opreme s strastjo do ustvarjanja tehničnih vsebin, ki niso le informativne, ampak tudi privlačne. Ko ne kodira ali piše, uživa v druženju s prijatelji in na prostem.

Več od Mary Gathoni

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite