Hvordan lage ruter på serversiden i noden.JS

Hvordan lage ruter på serversiden i noden.JS
Ruting er prosessen som brukes på serversiden for å svare på klientforespørsler. Det definerer sluttpunktet (Uris) ved den opprettede applikasjonens bakenden. Vi kan også definere ruting som "uttrykke”Applikasjonsobjekter som brukes til å samsvare med HTTP -metodene. Din søknad "lytter”Forespørslene som samsvarer med den oppgitte metoden eller rutene, og deretter kaller den den spesifiserte tilbakeringingsfunksjonen når den finner en.

Denne oppskrivningen vil demonstrere hvordan du lager rutene på serversiden i Node.JS. Videre vil prosedyren for å lage API -endepunkter basert på CRUD -operasjonene også bli gitt. Så la oss starte!

Hvordan lage ruter på serversiden i noden.JS

Vi har allerede opprettet en enkel applikasjon for ansattes styringssystem med React.JS frontend, node.JS Server og bygde en forbindelse mellom serveren og MongoDB -databasen. Etter å ha gjort det, la vi til to modeller: “ansatt.modell”Og“betegnelse.modell”Med deres beslektede skjema. Vi vil nå lage noen ruter for å presentere modellenes informasjon fra MongoDB -databasen ved å bruke "Mongoose”Bibliotek.

Neste trinn er å legge til API -rutene for å bruke dem til å utføre CRUD -operasjonene. Vi vil lage en “betegnelse" og en "ansatt”Rute for demonstrasjon. For å gjøre det, for det første, vil vi lage en ny “rute”Mappe på serversiden:

Vi vil navngi den nyopprettede mappen som "ruter”:

Deretter klikker du på "ruter”Mappe og velg“Ny fil”Alternativ for å lage en“ansatt.JS”Rutefil:

Ved å bruke den samme metoden, oppretter vi en annen rutefil, "betegnelse.JS”I rutemappen:

Som du kan se, har vi laget to ruterfil, “ansatt.JS”Og“betegnelse.fil”I“ruter" mappe:

I terminalen, utfør følgende kommando for å sette opp React Router ettersom det er standardbiblioteket som kan brukes til ruting:

> npm installer react-router-dom

Etter å ha gjort det, legg til følgende linje i prosjektets “App.JS”Fil:

Importer Browserrouter som ruter, rute fra "react-router-dom";

I neste trinn, åpne opp "ansatt.JS”Filannonse Legg til den undergitte koden i den:

I denne koden har vi lagt til to endepunkter. Det første endepunktet vil håndtere den innkommende HTTP “”Forespørsler om“/ansatte/”URL -bane. Neste, “Ansatt.finne()”Metoden kalles for å få listen over ansatte fra MongoDB -databasen. Denne Find () -metoden vil returnere et løfte, og resultatet vil bli returnert i JSON -format.

Det andre endepunktet som vi har lagt til i "ansatt”Rutefil, vil håndtere den innkommende HTTP”POST”Forespørsler om“/Ansatte/ADD/URL -banen. Det nye ansattes navn vil bli betraktet som en del av forespørselen. Etter å ha mottatt det nye ansattes navn, vil det bli opprettet en ny forekomst av den ansatte, og deretter vil "Save ()" -funksjonen lagre den nye ansattes rekord i MongoDB -databasen. Hvis den spesifiserte operasjonen er fullført, er "Ansatt lagt til!”Streng blir returnert:

const router = krever ('ekspress').Ruter ();
La ansatt = kreve ('... /modeller /ansatt.modell');
ruter.rute('/').få ((req, res) =>
Ansatt.finne()
.da (ansatte => res.JSON (ansatte))
.fangst (err => res.status (400).json ('feil:' + feil));
);
ruter.rute ('/legge til').POST ((req, res) =>
const Employalame = req.kropp.ansattes navn;
const newEmployee = new ansatte (EmployeTeName);
ny ansatt.lagre()
.da (() => res.JSON ('Ansatt lagt til!'))
.fangst (err => res.status (400).json ('feil:' + feil));
);
modul.Eksport = ruter;

Neste, åpne opp “betegnelse.JS”Fil for å lage betegnelsesrutene:

Nå, for det første, vil vi legge til de samme sluttpunktene som vi har lagt til i “ansatte.JS”Ruter -fil. Denne gangen vil vi imidlertid bryte alle tre feltene "ansattes navn”,“betegnelse”, Og“Dato”Fra de innsendte dataene:

const router = krever ('ekspress').Ruter ();
La betegnelse = kreve ('… /modeller /betegnelse.modell');
ruter.rute('/').få ((req, res) =>
Betegnelse.finne()
.da (betegnelser => res.JSON (betegnelser))
.fangst (err => res.status (400).json ('feil:' + feil));
);
ruter.rute ('/legge til').POST ((req, res) =>
const Employalame = req.kropp.ansattes navn
const betegnelse = req.kropp.betegnelse;
const dato = dato.Analyse (Req.kropp.Dato);
const newDesignation = ny betegnelse (
ansattes navn,
betegnelse,
Dato,
);
Newdesignation.lagre()
.da (() => res.JSON ('betegnelse lagt til!'))
.fangst (err => res.status (400).json ('feil:' + feil));
);
modul.Eksport = ruter;

De tidligere tilførte sluttpunktene kan brukes til å lese og lage betegnelsesartikler. Nå vil vi lage to ruter for de gjenværende CRUD -operasjonene, som er “Oppdater”Og“slett”.

I den undergitte koden “/: id”Get Endpoint vil returnere et betegnelseselement som vil ha den spesifiserte varen, og det vil bli slettet ved hjelp av“slett ()”Funksjon. “/Oppdatering/: ID”Postpoint vil oppdatere de eksisterende betegnelsesartiklene. For oppdateringens endepunkt vil vi først hente det eksisterende betegnelseselementet fra MongoDB -databasen basert på den spesifiserte IDen. Etter å ha gjort det, vil vi angi betegnelsesegenskapsverdiene, for eksempel “ansattes navn”,“betegnelse”, Og“Dato”Til verdiene som er mottatt i forespørselsorganet. Til slutt vil vi kalle “betegnelse.lagre()”Metode for å lagre det oppdaterte betegnelsesobjektet i vår database:

ruter.rute ('/: id').få ((req, res) =>
Betegnelse.FindbyId (Req.params.id)
.da (betegnelse => res.JSON (betegnelse))
.fangst (err => res.status (400).json ('feil:' + feil));
);
ruter.rute ('/: id').slett ((req, res) =>
Betegnelse.FindByIdandDelete (Req.params.id)
.da (() => res.JSON ('betegnelse slettet.'))
.fangst (err => res.status (400).json ('feil:' + feil));
);
ruter.rute ('/oppdatering/: id').POST ((req, res) =>
Betegnelse.FindbyId (Req.params.id)
.da (betegnelse =>
betegnelse.EmployeTeName = Req.kropp.ansattes navn;
betegnelse.Betegnelse = Req.kropp.betegnelse;
betegnelse.Dato = Dato.Analyse (Req.kropp.Dato);
betegnelse.lagre()
.da (() => res.JSON ('betegnelse oppdatert!'))
.fangst (err => res.status (400).json ('feil:' + feil));
)
.fangst (err => res.status (400).json ('feil:' + feil));
);

La oss nå fortelle noden.JS Server for å bruke rutene vi opprettet i "ruter" -mappen. For å gjøre det, åpner vi “Serveren.JS ”JavaScript-fil på vår serversiden:

Dette er hvordan våre “server.JS”Fil ser ut på dette tidspunktet:

Koden du skal legge til, skal plasseres før "app.Lytt (port, funksjon () ”Linje:

Legg nå til følgende kode i den uthevede delen:

const betegnelserRouter = krever ('./ruter/betegnelser ');
const ansatteRouter = krever ('./ruter/ansatte);
app.bruk ('/betegnelser', betegnelserRouter);
app.bruk ('/ansatte', ansatteRouter);

De to første linjene i den ovennevnte koden laster ruteren fra “betegnelser”Og“ansatte”Filer som vi har laget i“Ruter -mappe,”Og så er ruterne definert som mellomvare:

Trykk "Ctrl+s”For å lagre de ekstra endringene i noden din.JS serversiden fil:

Etter å ha opprettet rutene på serversiden i Node.JS, du kan teste dem ved hjelp av hvilken som helst API -testing -applikasjon som Postman og søvnløshet.

Konklusjon

Prosessen der klienten forespørsler behandles av serversiden av noden.JS er definert som ruting. I ruting er en rute et avsnitt av "uttrykke”Kode som kobler HTTP -forespørsler som Post, Get, Slett og lagt i et URL -mønster eller bane og legger deretter til en funksjon for å håndtere mønsteret. Denne oppskrivningen demonstrerte hvordan du lager rutene på serversiden i noden.JS. Videre er prosedyren for å lage API -endepunkter basert på CRUD -operasjonene også gitt.