REST (Representational State Transfer) API – jota joskus kutsutaan RESTful AP: ksi – on API, joka käyttää HTTP-pyyntöjä resurssien käyttöön ja käyttämiseen.

Nämä resurssit esitetään usein JSON-muodossa, vaikka joissain tapauksissa käytetään XML-, teksti- ja HTML-muotoa. REST-sovellusliittymistä on tullut tavallinen tapa sovelluksille vaihtaa tietoja verkon yli HTTP-menetelmien, kuten GET, PUT, POST ja DELETE, avulla. Ne helpottavat resurssien luomista, lukemista, päivittämistä ja poistamista, joita yleisesti kutsutaan CRUD-toiminnoiksi.

Tämä opas tutkii, kuinka voit käyttää Nodea. JS luoda yksinkertainen CRUD Restful API.

Mitä sinun tulee seurata

Varmista, että sinulla on Node.js asennettuna paikalliseen koneellesi. Juosta solmu -v tarkistaaksesi, onko Node. JS on asennettu. Tämän komennon pitäisi palauttaa versionumero.

Aiheeseen liittyvä: Node.js: n asentaminen Windowsiin

Sinulla pitäisi myös olla toimiva esimerkki suosikkistasi tekstieditori (esim. VS-koodi).

Projektin asennus

Luo sovelluksellesi kansio ja siirry siihen. Alusta terminaalissa ja juuri luomassasi hakemistossa

package.json juoksemalla npm init.

$ npm init -y 

The package.json auttaa sinua asentamaan ja hallitsemaan npm-paketteja. The -y lippu luo package.json-tiedoston oletusasetuksia käyttäen ilman, että sinun tarvitsee määrittää yksittäisiä tietoja. Terminaalin lähdön pitäisi näyttää tältä. Huomaa, että nimi on erilainen riippuen siitä, millä nimellä annoit kansion.

Määritä palvelin

Luo palvelin asentamalla ensin Express.js ja Nodemon. Express.js on solmu. Js-kehys, joka on suunniteltu helpottamaan verkkosovellusten ja API: iden kehittämistä. Tulet käyttämään sitä määritä palvelin ja API-päätepisteet. Nodemon toisaalta on kehitystyökalu, joka käynnistää palvelimesi uudelleen, kun sovelluskoodisi muuttuu.

Suorita seuraava komento asentaaksesi ilmaista ja nodemoni:

npm i express nodemon 

Luo seuraavaksi palvelin luomalla tiedosto ja kutsumalla sitä server.js lisää sitten seuraava koodi.

// Vaadi express
const express = vaatia("express");
// Alusta express
const app = express();
const PORT = 8080;
// jäsentää JSON
app.use (express.json());
// jäsentää URL-koodattuja tietoja
app.use (express.urlencoded({ laajennettu: tosi }));
// luo palvelin
app.listen (PORT, () => {
console.log(`Palvelin käynnissä portissa ${PORT}`);
});

Yllä olevassa koodissa vaaditaan express omassa server.js tiedosto ja alusta se. Määritä sitten express jäsentämään JSON- ja URL-koodatut tiedot. Luo lopuksi palvelin käyttämällä kuunnella() menetelmä Expressiltä.

Aiheeseen liittyvä: Mikä on Express.js ja miksi sinun pitäisi käyttää sitä?

Aloitus: Luo taulukko käyttäjätietojen tallentamiseksi

Yksinkertaisuuden vuoksi et käytä tietokantaa, vaan yksinkertaista käyttäjätaulukkoa. Lisää seuraava koodi app.js-tiedostoosi URL-koodattuja tietoja jäsentävän rivin jälkeen.

const käyttäjät = [{
id: 1,
nimi: "Jane Doe",
ikä: "22",
},
{
id: 2,
nimi: "John Doe",
ikä: "31",
}];

Aiheeseen liittyvä: Tietokannan ja kokoelman luominen MongoDB: ssä

Reittien määrittäminen Express.js: ssä

Jotta voit suorittaa toimenpiteitä tiedoillesi, sinun on määritettävä reititys. Reitit määrittävät, kuinka sovelluksesi vastaa tiettyyn päätepisteeseen tehtyihin pyyntöihin. Jokaisella reitillä on HTTP-menetelmä, URL-osoite ja käsittelijätoiminto, joka käsittelee HTTP-pyynnön ja -vastauksen. Voit määrittää reitit lisäämällä seuraavat tiedot server.js tiedosto sinun perässäsi käyttäjiä joukko.

app.post('/create', (req, res) => {
// Luo käyttäjä
});
app.get('/users', (req, res) => {
// Hakee kaikki käyttäjät
});
app.get('/user/:userID', (req, res) => {
// Palauttaa käyttäjän tunnuksella
});
app.put('/user/:userID', (req, res) => {
// Päivitä käyttäjä tunnuksella
});
app.delete('/delete/:userID', (req, res) => {
// Poista käyttäjä tunnuksella
});
app.delete('/users', (req, res) => {
// Poista kaikki käyttäjät
});

CRUD-toimintojen suorittaminen Nodessa. Js

Sinun on luotava toiminnot, jotka käsittelevät käyttäjätietoja ja palauttavat vastauksen sovitun reitin mukaan. Nämä toiminnot luovat, lukevat, päivittävät ja poistavat käyttäjätietoja.

Aiheeseen liittyvä: Kuinka suorittaa CRUD-operaatioita MongoDB: ssä

Kuinka luoda uusi käyttäjä

Luodaksesi uuden käyttäjän, sinun tulee:

  • Tarkista, onko pyynnön runko tyhjä – jos on, lähetä virhevastaus.
  • Pura käyttäjätiedot pyynnön rungosta.
  • Vahvista käyttäjätiedot.
  • Työnnä käyttäjätiedot taulukkoon.

Huomaa, että käytät taulukkoa vain yksinkertaisuuden vuoksi. Todellisessa tilanteessa olisit vuorovaikutuksessa tietokannan kanssa.

Muokkaa POST-reittiäsi alla olevan mukaisesti.

app.post("/create", (req, res) => {
// Tarkista, onko pyynnön runko tyhjä
if (!Object.keys (req.body).length) {
return res.status (400).json({
viesti: "Pyynnön teksti ei voi olla tyhjä",
});
}
// Käytä objektien strukturointia saadaksesi nimen ja iän
const { nimi, ikä } = req.body;
if (!nimi || !ikä) {
res.status (400).json({
viesti: "Varmista, että lähetit sekä nimen että iän",
});
}
const newUser = {
id: users.length + 1,
nimi,
ikä,
};
yrittää {
users.push (uusiKäyttäjä);
res.status (201).json({
viesti: "Uuden käyttäjän luominen onnistui",
});
} saalis (virhe) {
res.status (500).json({
viesti: "Käyttäjän luominen epäonnistui",
});
}
});

Kuinka lukea käyttäjiä

Hae kaikki käyttäjät palauttamalla vastauksessasi oleva käyttäjätaulukko.

app.get("/käyttäjät", (req, res) => {
yrittää {
res.status (200).json({
käyttäjiä
});
} saalis (virhe) {
res.status (500).json({
viesti: "Kaikkien käyttäjien haku epäonnistui",
});
}
});

Jos testaat tätä reittiä postin avulla, sinun pitäisi saada joukko käyttäjiä vastaustekstiin.

Vain yhden käyttäjän hakeminen:

  • Hanki käyttäjätunnus URL-parametrista.
  • Käyttää löytö() tunnistaaksesi mitä käyttäjätietoja pyydät.
  • Palauta käyttäjä vastauksessa.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log (id);
yrittää {
anna käyttäjä = käyttäjät.find((käyttäjä) => käyttäjä.id id);
if (!user) {
return res.status (404).json({
viesti: "Käyttäjää ei löydy",
});
}
res.status (200).json({
käyttäjä,
});
} saalis (virhe) {
res.status (500).json({
viesti: "Käyttäjän haku epäonnistui",
});
}
});

Kuinka päivittää käyttäjiä

Käyttäjän päivittäminen:

  • Hae käyttäjätunnus URL-osoitteesta.
  • Käyttää löytö() tarkistaaksesi onko käyttäjä olemassa.
  • Käyttää sisällysluettelo() saadaksesi viitatun käyttäjän indeksin.
  • Käytä hakemistoa muokataksesi käyttäjätietoja pyynnön rungon kautta lähetetyillä tiedoilla.
app.put("/käyttäjät/:käyttäjätunnus", (req, res) => {
yrittää {
const id = parseInt (req.params.userID);
anna käyttäjä = käyttäjät.find((käyttäjä) => käyttäjä.id id);
if (!user) {
return res.status (404).json({
viesti: "Käyttäjää ei löydy",
});
}
const userIDX = users.indexOf (käyttäjä);
käyttäjät[käyttäjätunnus].nimi = req.body.name || käyttäjät[käyttäjätunnus].nimi;
käyttäjät[käyttäjätunnus].age = req.body.age || käyttäjät[käyttäjätunnus].ikä;
res.status (200).json({
viesti: "Käyttäjä päivitetty onnistuneesti",
käyttäjä,
});
} saalis (virhe) {
res.status (500).json({
viesti: "Käyttäjän haku epäonnistui",
});
}
});

Kuinka poistaa käyttäjiä

Voit poistaa yhden käyttäjän vai kaikki käyttäjät.

Yhden käyttäjän poistaminen:

  • Hae käyttäjätunnus URL-osoitteesta
  • Käyttää löytö() tarkistaaksesi onko käyttäjä olemassa
  • Käyttää FindIndex() saadaksesi viitatun käyttäjän indeksin.
  • Käyttää liitos () poistaaksesi käyttäjän kyseisestä hakemistosta.
app.delete("/users/:userID", (req, res) => {
yrittää {
const id = req.params.userID;
anna käyttäjätunnus = käyttäjät.findIndex((user) => user.id id);
if (!userIDX) {
res.status (404).json({
viesti: "Käyttäjää ei löydy",
});
}
users.splice (userIDX, 1);
res.status (200).json({
viesti: "Käyttäjä poistettu onnistuneesti",
käyttäjät,
});
} saalis (virhe) {
res.status (500).json({
viesti: "Käyttäjän poistaminen epäonnistui",
});
}
});

Jos haluat poistaa kaikki käyttäjät, yhdistä koko taulukko.

app.delete("/users", (req, res) => {
yrittää {
user.splice (0, users.length);
res.status (200).json({
viesti: "Kaikki käyttäjät poistettu onnistuneesti",
käyttäjät,
});
} saalis (virhe) {
res.status (500).json({
viesti: "Käyttäjien poistaminen epäonnistui",
x,
});
}
});

Lisätietoja RESTful-sovellusliittymistä

Tässä opetusohjelmassa käsitellään perus RESTful API: n luomista Nodessa. JS. Olet oppinut luomaan Express-palvelimen, määrittämään reittejä ja lopuksi luomaan käsittelijätoimintoja, jotka ovat vuorovaikutuksessa tietojesi kanssa HTTP-pyyntöjen/vastausten kautta.

On kuitenkin joitain olennaisia ​​aiheita, joita ei käsitellä tässä ja joita sinun tulee tutkia tarkemmin, mukaan lukien kuinka yhdistää sovelluksesi tietokantaan, kuten MongoDB, ja kuinka suojata reitit.

Kuinka MongoDB-tietokanta voi järjestää tietosi paremmin

MongoDB (sanasta "humongous") on monialustainen dokumenttipohjainen tietokanta, jota käytetään vaihtoehtona MySQL: lle. Mutta mitä se tarkoittaa?

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Ohjelmointi
  • JavaScript
  • API
Kirjailijasta
Mary Gathoni (2 artikkelia julkaistu)

Mary Gathoni on ohjelmistokehittäjä, jonka intohimona on luoda teknistä sisältöä, joka ei ole vain informatiivinen, vaan myös mukaansatempaava. Kun hän ei koodaa tai kirjoita, hän nauttii ystävien kanssa olemisesta ja ulkoilusta.

Lisää Mary Gathonilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi