REST (esindusoleku edastuse) API – mida mõnikord nimetatakse ka RESTful AP-ks – on API, mis kasutab ressurssidele juurdepääsuks ja kasutamiseks HTTP-päringuid.
Need ressursid on sageli esindatud JSON-vormingus, kuigi mõnel juhul kasutatakse XML-, teksti- ja HTML-vormingut. REST API-liidestest on saanud rakenduste standardne viis võrgu kaudu andmete vahetamiseks HTTP-meetodite (nt GET, PUT, POST ja DELETE) kaudu. Need hõlbustavad ressursside loomist, lugemist, värskendamist ja kustutamist, mida tavaliselt nimetatakse CRUD-toiminguteks.
See juhend uurib, kuidas Node'i kasutada. JS, et luua lihtne CRUD Restful API.
Mida peate järgima
Veenduge, et teie kohalikku arvutisse oleks installitud Node.js. Jookse sõlm -v et kontrollida, kas Node. JS on installitud. See käsk peaks tagastama versiooninumbri.
Seotud: Kuidas installida Node.js Windowsi
Teil peaks olema ka oma lemmiku toimiv eksemplar tekstiredaktor (nt VS-kood).
Projekti seadistamine
Looge oma rakenduse jaoks kaust ja navigeerige selle juurde. Initsialiseerige terminalis ja äsja loodud kataloogis package.json joostes npm init.
$ npm init -y
The package.json aitab teil installida ja hallata npm-pakette. The -y lipp loob faili package.json, kasutades vaikevalikuid, ilma et peaksite üksikuid üksikasju seadistama. Teie terminali väljund peaks välja nägema selline. Pange tähele, et nimi on erinev olenevalt sellest, millise nime olete oma kaustale andnud.
Seadistage server
Serveri loomiseks installige esmalt Express.js ja Nodemon. Express.js on sõlm. Js raamistik, mis on loodud veebirakenduste ja API-de arendamise hõlbustamiseks. Sa kasutad seda selleks konfigureerige server ja API lõpp-punktid. Teisest küljest on Nodemon arendustööriist, mis taaskäivitab teie serveri, kui teie rakenduse kood muutub.
Käivitage installimiseks järgmine käsk väljendada ja sõlme:
npm ma väljendan sõlme
Järgmisena looge oma serveri loomiseks fail ja helistage sellele server.js seejärel lisage järgmine kood.
// Nõua ekspress
const express = nõuda("ekspress");
// Initsialiseeri ekspress
const app = express();
const PORT = 8080;
// JSON-i sõelumine
app.use (express.json());
// sõeluvad URL-i kodeeritud andmeid
app.use (express.urlencoded({ extended: true }));
// looge server
app.listen (PORT, () => {
console.log(`Server töötab pordis ${PORT}`);
});
Ülaltoodud koodis nõudke oma server.js faili ja lähtestage see. Seejärel konfigureerige ekspress JSON-i ja URL-i kodeeritud andmete sõelumiseks. Lõpuks looge server, kasutades kuula () meetod Expressilt.
Seotud: Mis on Express.js ja miks peaksite seda kasutama?
Alustamine: looge massiiv kasutajaandmete salvestamiseks
Lihtsuse huvides ei kasuta te andmebaasi, vaid lihtsat kasutajate massiivi. Lisage failis app.js URL-i kodeeritud andmeid sõeluva rea järele järgmine kood.
const kasutajad = [{
ID: 1,
nimi: "Jane Doe",
vanus: "22",
},
{
id: 2,
nimi: "John Doe",
vanus: "31",
}];
Seotud: Kuidas luua andmebaasi ja kogu MongoDB-s
Kuidas seadistada marsruute Express.js-s
Andmetega toimingute tegemiseks peate seadistama marsruutimise. Marsruudid määravad, kuidas teie rakendus vastab konkreetsele lõpp-punktile tehtud päringutele. Igal marsruudil on HTTP-meetod, URL ja töötleja funktsioon, mis käsitleb HTTP päringut ja vastust. Marsruutide seadistamiseks lisage omale järgmine server.js faili pärast teie kasutajad massiivi.
app.post('/create', (req, res) => {
// Loo kasutaja
});
app.get('/users', (req, res) => {
// Otsib kõik kasutajad
});
app.get('/user/:kasutaja ID', (req, res) => {
// Tagastab kasutaja ID järgi
});
app.put('/user/:kasutajaID', (req, res) => {
// Kasutaja värskendamine ID järgi
});
app.delete('/delete/:kasutajaID', (req, res) => {
// Kasutaja kustutamine ID järgi
});
app.delete('/users', (req, res) => {
// Kustuta kõik kasutajad
});
Kuidas sõlmes CRUD-operatsioone teha. Js
Peate looma funktsioonid, mis manipuleerivad kasutajaandmeid ja tagastavad vastuse vastavalt sobitatud marsruudile. Need funktsioonid loovad, loevad, värskendavad ja kustutavad kasutajaandmeid.
Seotud: Kuidas MongoDB-s CRUD-operatsioone teha
Kuidas luua uut kasutajat
Uue kasutaja loomiseks peate:
- Kontrollige, kas päringu sisu on tühi – kui on, saatke veateade.
- Eraldage kasutajaandmed päringu kehast.
- Kinnitage kasutaja andmed.
- Lükake kasutajaandmed massiivi.
Pange tähele, et kasutate massiivi ainult lihtsuse huvides. Reaalsel juhul suhtleksite andmebaasiga.
Redigeerige oma POST-i marsruuti nagu allpool.
app.post("/loo", (req, res) => {
// Kontrollige, kas päringu keha on tühi
if (!Object.keys (req.body).length) {
tagasta res.status (400).json({
teade: "Taotluse sisu ei saa olla tühi",
});
}
// Nime ja vanuse saamiseks kasutage objektide struktureerimist
const { nimi, vanus } = req.body;
if (!nimi || !vanus) {
res.status (400).json({
teade: "Veenduge, et olete saatnud nii nime kui ka vanuse",
});
}
const newUser = {
id: users.length + 1,
nimi,
vanus,
};
proovi {
users.push (uusKasutaja);
res.status (201).json({
teade: "Uue kasutaja loomine õnnestus",
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kasutaja loomine ebaõnnestus",
});
}
});
Kuidas kasutajaid lugeda
Kõigi kasutajate toomiseks tagastage oma vastuses kasutajate massiiv.
app.get("/users", (req, res) => {
proovi {
res.status (200).json({
kasutajad
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kõigi kasutajate toomine ebaõnnestus",
});
}
});
Kui testite seda marsruuti postiljoniga, peaksite vastuse kehasse saama kasutajate massiivi.
Ainult ühe kasutaja toomiseks toimige järgmiselt.
- Hankige kasutaja ID URL-i parameetrist.
- Kasuta leia () et tuvastada, milliseid konkreetseid kasutajaandmeid te taotlete.
- Tagasta kasutaja vastuses.
app.get("/users/:kasutaja ID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
proovi {
las kasutaja = kasutajad.leida((kasutaja) => kasutaja.id id);
if (!kasutaja) {
tagasta res.status (404).json({
teade: "Kasutajat ei leitud",
});
}
res.status (200).json({
kasutaja,
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kasutaja toomine ebaõnnestus",
});
}
});
Kuidas kasutajaid värskendada
Kasutaja värskendamiseks toimige järgmiselt.
- Otsi URL-ist kasutaja ID.
- Kasuta leia () et kontrollida, kas kasutaja on olemas.
- Kasuta indeks() et saada viidatud kasutaja indeks.
- Kasutage registrit kasutajaandmete muutmiseks päringu keha kaudu saadetud andmetega.
app.put("/users/:kasutajaID", (req, res) => {
proovi {
const id = parseInt (req.params.userID);
las kasutaja = kasutajad.leida((kasutaja) => kasutaja.id id);
if (!kasutaja) {
tagasta res.status (404).json({
teade: "Kasutajat ei leitud",
});
}
const kasutajaIDX = users.indexOf (kasutaja);
kasutajad[kasutajaIDX].nimi = req.body.name || kasutajad[kasutajaIDX].nimi;
kasutajad[kasutajaIDX].age = req.body.age || kasutajad[kasutajaIDX].age;
res.status (200).json({
teade: "Kasutaja värskendamine õnnestus",
kasutaja,
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kasutaja toomine ebaõnnestus",
});
}
});
Kuidas kasutajaid kustutada
Saate valida, kas kustutada üks või kõik kasutajad.
Ühe kasutaja kustutamiseks toimige järgmiselt.
- Otsi URL-ist kasutaja ID
- Kasuta leia () et kontrollida, kas kasutaja on olemas
- Kasuta findIndex() et saada viidatud kasutaja indeks.
- Kasuta splaiss() selle registri kasutaja kustutamiseks.
app.delete("/users/:kasutajaID", (req, res) => {
proovi {
const id = req.params.userID;
lase kasutajaIDX = kasutajad.findIndex((kasutaja) => kasutaja.id id);
if (!userIDX) {
res.status (404).json({
teade: "Kasutajat ei leitud",
});
}
users.splice (kasutajaIDX, 1);
res.status (200).json({
teade: "Kasutaja kustutamine õnnestus",
kasutajad,
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kasutaja kustutamine ebaõnnestus",
});
}
});
Kõigi kasutajate kustutamiseks ühendage kogu massiiv.
app.delete("/users", (req, res) => {
proovi {
users.splice (0, users.length);
res.status (200).json({
teade: "Kõigi kasutajate kustutamine õnnestus",
kasutajad,
});
} püüdmine (viga) {
res.status (500).json({
teade: "Kasutajate kustutamine ebaõnnestus",
x,
});
}
});
Lisateave RESTful API-de kohta
Selles õpetuses käsitletakse põhilist RESTful API loomist sõlmes. JS. Olete õppinud, kuidas luua Express-serverit, seadistada marsruute ja lõpuks luua töötleja funktsioone, mis suhtlevad teie andmetega HTTP-päringute/-vastuste kaudu.
Siiski on mõningaid olulisi teemasid, mida siin ei käsitleta, mida peaksite edasi uurima, sealhulgas rakenduse ühendamist sellise andmebaasiga nagu MongoDB ja marsruute turvalisust.
MongoDB (sõnast "humongous") on platvormideülene dokumendile orienteeritud andmebaas, mida kasutatakse MySQL-i alternatiivina. Aga mida see tähendab?
Loe edasi
- Programmeerimine
- JavaScript
- API
Mary Gathoni on tarkvaraarendaja, kelle kirg on luua tehnilist sisu, mis pole mitte ainult informatiivne, vaid ka kaasahaarav. Kui ta ei kodeeri ega kirjuta, naudib ta sõpradega aega veetmist ja õues olemist.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin