REST (representational State Transfer) API (kartais vadinama RESTful AP) yra API, kuri naudoja HTTP užklausas, kad pasiektų ir naudotų išteklius.

Šie ištekliai dažnai pateikiami JSON formatu, nors kai kuriais atvejais naudojamas XML, teksto ir HTML formatas. REST API tapo standartiniu būdu programoms keistis duomenimis tinkle naudojant HTTP metodus, tokius kaip GET, PUT, POST ir DELETE. Jie palengvina išteklių, paprastai vadinamų CRUD operacijomis, kūrimą, skaitymą, atnaujinimą ir ištrynimą.

Šiame vadove nagrinėjama, kaip galite naudoti „Node“. JS, kad sukurtumėte paprastą CRUD Restful API.

Ką reikia sekti

Įsitikinkite, kad vietiniame kompiuteryje įdiegtas Node.js. Bėk mazgas -v norėdami patikrinti, ar Node. JS įdiegtas. Ši komanda turėtų grąžinti versijos numerį.

Susijęs: Kaip įdiegti Node.js sistemoje Windows

Taip pat turėtumėte turėti veikiantį mėgstamiausio egzempliorių teksto redaktorius (pvz., VS kodas).

Projekto sąranka

Sukurkite programos aplanką ir eikite į jį. Terminale ir ką tik sukurtame kataloge inicijuokite package.json bėgant npm init.

instagram viewer
$ npm init -y 

The package.json padės įdiegti ir valdyti npm paketus. The -y vėliavėlė sukuria paketą.json failą naudodama numatytąsias parinktis ir jums nereikia nustatyti atskiros informacijos. Jūsų terminalo išvestis turėtų atrodyti taip. Atminkite, kad pavadinimas skirsis priklausomai nuo to, kaip pavadinote savo aplanką.

Nustatykite serverį

Norėdami sukurti serverį, pirmiausia įdiekite Express.js ir Nodemon. Express.js yra mazgas. Js sistema, sukurta siekiant palengvinti žiniatinklio programų ir API kūrimą. Jūs jį panaudosite sukonfigūruoti serverį ir API galutiniai taškai. Kita vertus, Nodemon yra kūrimo įrankis, kuris iš naujo paleis serverį, kai pasikeis programos kodas.

Norėdami įdiegti, paleiskite šią komandą išreikšti ir mazgas:

npm aš išreiškiu mazgą 

Tada, norėdami sukurti serverį, sukurkite failą ir jį iškvieskite server.js tada pridėkite šį kodą.

// Reikalauti greito
const express = reikalauti("išreikšti");
// Inicijuoti greitąjį
const programa = express ();
const PORT = 8080;
// analizuoti JSON
app.use (express.json());
// išanalizuoti URL koduotus duomenis
app.use (express.urlencoded({ išplėstinis: tiesa }));
// sukurti serverį
app.listen (PORT, () => {
console.log(`Serveris veikia prievade ${PORT}`);
});

Aukščiau esančiame kode reikalaujama išreikšti savo server.js failą ir inicijuokite jį. Tada sukonfigūruokite „Express“ analizuoti JSON ir URL koduotus duomenis. Galiausiai sukurkite serverį naudodami klausyk () metodas iš Express.

Susijęs: Kas yra Express.js ir kodėl turėtumėte jį naudoti?

Darbo pradžia: sukurkite masyvą vartotojo duomenims saugoti

Paprastumo sumetimais naudosite ne duomenų bazę, o paprastą vartotojo masyvą. Savo app.js po eilutės, kuri analizuoja URL koduotus duomenis, pridėkite šį kodą.

const vartotojai = [{
ID: 1,
vardas: "Jane Doe",
amžius: "22",
},
{
ID: 2,
vardas: "John Doe",
amžius: "31",
}];

Susijęs: Kaip sukurti duomenų bazę ir kolekciją MongoDB

Kaip nustatyti maršrutus naudojant Express.js

Norėdami atlikti operacijas su savo duomenimis, turite nustatyti maršrutą. Maršrutai nustatys, kaip jūsų programa atsakys į užklausas, pateiktas tam tikram galutiniam taškui. Kiekvienas maršrutas turi HTTP metodą, URL ir tvarkyklės funkciją, kuri apdoroja HTTP užklausą ir atsakymą. Norėdami nustatyti maršrutus, pridėkite toliau nurodytą informaciją server.js failą po jūsų vartotojų masyvas.

app.post('/create', (req, res) => {
// Sukurti vartotoją
});
app.get('/users', (req, res) => {
// Gauna visus vartotojus
});
app.get('/user/:userID', (req, res) => {
// Grąžina vartotoją pagal ID
});
app.put('/user/:userID', (req, res) => {
// Atnaujinkite vartotoją pagal ID
});
app.delete('/delete/:userID', (req, res) => {
// Ištrinkite vartotoją pagal ID
});
app.delete('/users', (req, res) => {
// Ištrinti visus vartotojus
});

Kaip atlikti CRUD operacijas „Node“. Js

Turite sukurti funkcijas, kurios manipuliuotų vartotojo duomenimis ir pateiks atsakymą pagal suderintą maršrutą. Šios funkcijos sukurs, skaitys, atnaujins ir ištrins vartotojo duomenis.

Susijęs: Kaip atlikti CRUD operacijas MongoDB

Kaip sukurti naują vartotoją

Norėdami sukurti naują vartotoją, jums reikės:

  • Patikrinkite, ar užklausos turinys tuščias – jei taip, išsiųskite klaidos atsakymą.
  • Ištraukite vartotojo duomenis iš užklausos įstaigos.
  • Patvirtinkite vartotojo duomenis.
  • Perkelkite vartotojo duomenis į masyvą.

Atminkite, kad masyvą naudojate tik dėl paprastumo. Realiu atveju jūs bendrautumėte su duomenų baze.

Redaguokite savo POST maršrutą, kaip nurodyta toliau.

app.post("/create", (req, res) => {
// Patikrinkite, ar užklausos turinys tuščias
if (!Object.keys (req.body).length) {
grąžinti res.status (400).json({
pranešimas: "Užklausos tekstas negali būti tuščias",
});
}
// Norėdami gauti vardą ir amžių, naudokite objektų naikinimą
const {vardas, amžius} = req.body;
if (!vardas || !amžius) {
res.status (400).json({
pranešimas: „Įsitikinkite, kad atsiuntėte vardą ir amžių“,
});
}
const newUser = {
id: users.length + 1,
vardas,
amžius,
};
bandyti {
vartotojai.push (newUser);
res.status (201).json({
pranešimas: "Sėkmingai sukurtas naujas vartotojas",
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: „Nepavyko sukurti vartotojo“,
});
}
});

Kaip skaityti vartotojus

Norėdami nuskaityti visus vartotojus, atsakyme pateikite vartotojų masyvą.

app.get("/users", (req, res) => {
bandyti {
res.status (200).json({
vartotojų
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: „Nepavyko nuskaityti visų vartotojų“,
});
}
});

Jei išbandysite šį maršrutą naudodami paštininką, atsakymo tekste turėtumėte gauti vartotojų masyvą.

Norėdami gauti tik vieną vartotoją:

  • Gaukite vartotojo ID iš URL parametro.
  • Naudokite rasti () nustatyti, kokių konkrečių vartotojo duomenų prašote.
  • Grąžinkite vartotoją atsakyme.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
bandyti {
tegul vartotojas = vartotojai.rasti((vartotojas) => vartotojo.id ID);
if (!user) {
grąžinti res.status (404).json({
pranešimas: "Vartotojas nerastas",
});
}
res.status (200).json({
Vartotojas,
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: „Nepavyko atkurti vartotojo“,
});
}
});

Kaip atnaujinti vartotojus

Norėdami atnaujinti vartotoją:

  • Gaukite vartotojo ID iš URL.
  • Naudokite rasti () patikrinti, ar vartotojas egzistuoja.
  • Naudokite indexOf() norėdami gauti nurodyto vartotojo indeksą.
  • Naudokite rodyklę, norėdami redaguoti vartotojo duomenis su duomenimis, siunčiamais per užklausos turinį.
app.put("/users/:userID", (req, res) => {
bandyti {
const id = parseInt (req.params.userID);
tegul vartotojas = vartotojai.rasti((vartotojas) => vartotojo.id ID);
if (!user) {
grąžinti res.status (404).json({
pranešimas: "Vartotojas nerastas",
});
}
const userIDX = vartotojai.indexOf (vartotojas);
vartotojai[naudotojo IDX].vardas = req.body.name || vartotojai[naudotojo IDX].vardas;
vartotojai[naudotojo IDX].age = req.body.age || vartotojai[userIDX].age;
res.status (200).json({
pranešimas: "Sėkmingai atnaujintas vartotojas",
Vartotojas,
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: „Nepavyko atkurti vartotojo“,
});
}
});

Kaip ištrinti vartotojus

Galite pasirinkti ištrinti vieną vartotoją arba visus vartotojus.

Norėdami ištrinti vieną vartotoją:

  • Gaukite vartotojo ID iš URL
  • Naudokite rasti () patikrinti, ar vartotojas egzistuoja
  • Naudokite rastiIndex() norėdami gauti nurodyto vartotojo indeksą.
  • Naudokite sandūra () jei norite ištrinti vartotoją iš to indekso.
app.delete("/users/:userID", (req, res) => {
bandyti {
const id = req.params.userID;
tegul vartotojoIDX = vartotojai.findIndex((vartotojas) => vartotojo.id id);
if (!userIDX) {
res.status (404).json({
pranešimas: "Vartotojas nerastas",
});
}
vartotojai.splice (userIDX, 1);
res.status (200).json({
pranešimas: "Sėkmingai ištrintas vartotojas",
vartotojai,
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: "Nepavyko ištrinti vartotojo",
});
}
});

Norėdami ištrinti visus vartotojus, sujunkite visą masyvą.

app.delete("/users", (req, res) => {
bandyti {
users.splice (0, users.length);
res.status (200).json({
pranešimas: "Visi vartotojai sėkmingai ištrinti",
vartotojai,
});
} sugauti (klaida) {
res.status (500).json({
pranešimas: "Nepavyko ištrinti vartotojų",
x,
});
}
});

Sužinokite daugiau apie RESTful API

Šiame vadove aptariama, kaip Node sukurti pagrindinę RESTful API. JS. Sužinojote, kaip sukurti Express serverį, nustatyti maršrutus ir galiausiai sukurti tvarkyklės funkcijas, kurios sąveikauja su jūsų duomenimis per HTTP užklausas / atsakymus.

Tačiau yra keletas esminių temų, kurios čia neaptariamos, kurias turėtumėte toliau tyrinėti, įskaitant tai, kaip prijungti programą prie duomenų bazės, pvz., MongoDB, ir kaip apsaugoti maršrutus.

Kaip MongoDB duomenų bazė gali geriau tvarkyti jūsų duomenis

MongoDB (iš „humongous“) yra į įvairias platformas orientuota duomenų bazė, naudojama kaip „MySQL“ alternatyva. Bet ką tai reiškia?

Skaitykite toliau

DalintisTviteryjeEl. paštas
Susijusios temos
  • Programavimas
  • JavaScript
  • API
Apie autorių
Marija Gathoni (Paskelbti 2 straipsniai)

Mary Gathoni yra programinės įrangos kūrėja, kuri aistringai kuria techninį turinį, kuris būtų ne tik informatyvus, bet ir įtraukiantis. Kai ji nekoduoja ir nerašo, jai patinka leisti laiką su draugais ir būti lauke.

Daugiau iš Mary Gathoni

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia