Denne veiledningen forklarer prosedyren for å lage HTTP-forespørsler med Node.js-forespørselsmodulen ved å dekke avsnittene nedenfor:
Hvordan lage HTTP-forespørsler med Node.js Request Module?
Alternativer for Node.js Request Module
- Metode 1: Lage HTTP-forespørsler ved å bruke standard HTTP-modul
- Metode 2: Foreta HTTP-forespørsel ved hjelp av ekstern aksiomodul
Hvordan lage HTTP-forespørsler ved å bruke Node.js Request Module?
« be om ”-modulen er den enkleste modulen som hjelper deg med å sende eller hente HTTP-forespørsler. Denne modulen er for enkel og lett å forstå, men den gir svært liten frihet til utviklere. Dessuten kan utvikleren ikke enkelt endre dens grunnleggende funksjonalitet eller forbedre dens medfølgende funksjoner.
Merk: Selv om ' be om ” er en god modul. Skaperne bestemte seg imidlertid for å slutte å jobbe med denne modulen, og den ble fullstendig avviklet 11. februar 2020.
Men hvis du fortsatt ønsker å få en ide om implementeringen av denne ' be om ”-modulen og besøk deretter trinnene nedenfor.
Trinn 1: Installere 'request'-modulen og initialisere Node.js-prosjektet
Start med å initialisere ' npm ”-pakker inne i ønsket katalog for å lage et Node.js-prosjekt ved å kjøre kommandoen:
npm init - ogUtgangen viser at 'npm' har blitt initialisert i den angitte katalogen:
Installer deretter den nødvendige ' be om '-modulen ved å utføre kommandoen:
npm installasjonsforespørselUtdataene viser at installasjonen er fullført, men siden denne modulen er utdatert, er det derfor den utdaterte advarselen har blitt sendt av 'npm':
Trinn 2: Sette inn dummy-kode
Lage en ' .js ” type fil inne i Node.js-prosjektkatalogen, det er filen der programmene settes inn og kjøres senere. Deretter setter du inn kodelinjene nedenfor for å illustrere den praktiske implementeringen av ' be om '-modul, som vist nedenfor:
konst reqObj = krever ( 'be om' )la baseUrl = 'https://jsonplaceholder.typicode.com/todos/6' ;
reqObj ( baseUrl, ( problemer, innhold ) => {
hvis ( problemer ) konsoll. Logg ( problemer )
konsoll. Logg ( innhold ) ;
} ) ;
Forklaringen av kodeblokken ovenfor er som følger:
- Først, ' be om '-modulen er importert og objektet er lagret i en ny variabel kalt ' reqObj '.
- Deretter sendes URL-en til en online JSON-fil hvis innhold må hentes som verdien for ' baseUrl ' kalt variabel.
- Og så ' reqObj variabelen påkalles som konstruktøren, og ' baseUrl ” sendes som dens første parameter og tilbakeringingsfunksjonen som den andre parameteren.
- Inne i tilbakeringingsfunksjonen er ' hvis ”-setningen brukes til å vise eventuelle oppståtte feil, og de hentede dataene vises også over konsollvinduet.
Trinn 3: Utførelse
For å utføre koden ovenfor, kjør filen som heter ' proApp.js ' i vårt tilfelle ved å bruke kommandoen:
node proApp. jsUtdata etter kjøring viser at de spesifiserte dataene er hentet og vist over konsollen:
Alternativer for Node.js Request Module
På grunn av avskrivningen av ' be om ”-modulen, er det mange nye eksterne moduler som kan brukes til å utføre lignende funksjonalitet. Disse alternative modulene er angitt nedenfor:
Alternativer | Beskrivelse |
node-henting | Det er en løfte- eller strømbasert modul som bringer en window.fetch()-metode i Node.js. |
http | « http ”-modulen er standardmodulen levert av Node.js, og den gir flere metoder for å samhandle med http-servere samtidig som den gir mer frihet. |
aksioer | Rent basert på løfter og strømmer for å utføre HTTP-forespørsler over nettleseren fra både server- og klientenden. |
fikk | Det er super menneskevennlig og det kraftigste biblioteket for HTTP-forespørsler. |
superagent | Basert på kjeding og løfter samtidig som det gir støtte for mange HTTP-klienter på høyt nivå. Den har også en lav læringskurve. |
bøyd | Det er en funksjonell HTTP som returnerer en funksjon av async-type. |
få-hente-skje | En forbedret form for ' node-henting ' modul. Det inkluderer nå 'forespørselspooling', 'cache-støtte' og mye mer også. |
nål | Denne modulen er den klareste og mest fremadrettede modulen. Det brukes mest til å hente data ved å sende forespørsler til tredjepartskilder. |
tiny-json-http | Minimalistisk HTTP-klient som brukes til å utføre JSON-nyttelastene. |
La oss nå utføre HTTP-forespørsler ved å bruke noen moduler diskutert ovenfor.
Metode 1: Lage HTTP-forespørsler ved å bruke standard HTTP-modul
« http ” er en standardmodul ettersom den blir automatisk installert ved initialisering av node.js-prosjektet ved å kjøre kommandoen ” npm init ' eller ' npm init -y '. Siden vi allerede har opprettet et node.js-prosjekt, hopper vi over initialiseringstrinnene som er demonstrert i starten av denne artikkelen, og dykker direkte inn i opprettelsen av http-forespørsler ved å bruke 'http'-modulen.
I kodebiten nedenfor er serveren opprettet og som et svar sendes dummymeldingen til serveren:
konst httpObj = krever ( 'http' ) ;konst lokal server = httpObj. oppretteServer ( ( forespørsel, svar ) => {
respons. skrive ( 'Velkommen til Twitter-siden' ) ;
respons. slutt ( ) ;
} ) ;
lokal server. lytte ( 8080 , ( ) => {
konsoll. Logg ( 'server startet på portnummer 8080.' ) ;
} ) ;
I kodeblokken ovenfor:
- Først, ' http '-modulen har blitt importert inn i den gjeldende filen og objektet er lagret i en ny variabel kalt ' httpObj '.
- Deretter heter serveren ' lokal server ' opprettes ved å påkalle ' createServer() ”-metoden og sender tilbakeringingsfunksjonen som parameter.
- Inne i denne funksjonen kaller du en ' skrive() ”-metoden og tilordne den en dummy-melding som vises over serveren. Avslutt også svarøkten ved å påkalle ' slutt() ”-meldingen, kan den tilfeldige dummy-meldingen også settes inn i metodeparentesen.
- Etter det, få denne serveren til å kjøre over den lokale verten som har portnummeret ' 8080 ' ved å påkalle ' lytte() 'metoden.
Kjør den ovennevnte koden som inneholder filen ved å kjøre kommandoen nedenfor:
node < filnavn. js >Den genererte utgangen bekrefter at HTTP-forespørsler er utført via standard ' http ' modul:
Metode 2: Foreta HTTP-forespørsel ved hjelp av ekstern aksiomodul
« aksioer ” er den mest populære og mest brukte modulen når det gjelder å utføre HTTP-forespørsler i et sanntidsmiljø. For å bruke denne modulen må utvikleren først installere den ved å utføre kommandoen nedenfor:
npm installer aksioerEtter å ha utført kommandoen, ser terminalen slik ut:
La oss nå se over et eksempel der ' FÅ HTTP-forespørsel skal brukes til å hente dataene fra et tilfeldig API. Deretter vises de mottatte dataene over konsollen også:
konst axiosObj = krever ( 'aksios' ) ;// URL for JSON Placeholder API For å velge bare en del av data som har en ID på 5
konst apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;
//Initialisering av GET-forespørselen
axiosObj. få ( apiUrl )
. deretter ( respons => {
konsoll. Logg ( 'Statusen for svar fra API er:' , respons. status ) ;
konsoll. Logg ( 'Dataene mottatt fra API som et svar på forespørsel:' , respons. data ) ;
} )
. å fange ( feil => {
konsoll. feil ( 'Feilen har oppstått:' , feil ) ;
} ) ;
Forklaringen av kodeblokken ovenfor er angitt nedenfor:
- Først importerer du ' aksioer ' biblioteket og lagre forekomsten i variabelen kalt ' axiosObj ' som fungerer som et objekt i 'axios'-biblioteket.
- Deretter oppretter du en variabel ' apiUrl ” og lagre URL-en til API-en som dataene må hentes fra. I vårt tilfelle er nettadressen ' https://jsonplaceholder.typicode.com/todos/5 ' fordi vi ønsker å hente data som har en ID på ' 5 '.
- Nå, ved hjelp av ' axiosObj ' påkalle ' få() '-metoden og bestå ' appURL ” variabel innenfor denne metodeparentesen.
- Fest ' deretter() '-metoden med ' få() '-metoden og lag en anonym pilfunksjon som inneholder en enkelt parameter for ' respons '.
- denne ' respons ' fungerer som et objekt som inneholder verdiene eller dataene returnert som svar på forespørselen via ' få() 'metoden.
- Ved hjelp av denne ' respons '-objektet, hente statusen til forespørselen og innholdet ved å legge ved ' status ' og ' data ' søkeord ved siden av.
- Til slutt legger du ved ' å fange() ” metode som viser feil hvis noen oppstod under kjøringen av programmet.
Nå, kompiler koden ovenfor i Node.js-miljøet ved å bruke kommandoen nedenfor på terminalen:
node < filnavn >Den viste utdata viser at de forespurte dataene har blitt hentet fra den angitte kilden som et svar og vist over konsollvinduet:
Det handler om å lage HTTP-forespørsler med Node.js Request Module og en rask oversikt over alternativene.
Konklusjon
For å lage en HTTP-forespørsel via ' be om ”-modulen, den nødvendige URL-en der hentingen skal utføres. Deretter opprettes 'request'-modulforekomsten, og den valgte URL-adressen som HTTP-forespørselen må implementeres for, sendes som den første parameteren. Den nødvendige tilbakeringingsfunksjonen brukes også til å se etter eventuelle feil og hente innholdet eller svaret på HTTP-forespørselen. Denne veiledningen har forklart prosessen med å lage HTTP-forespørsler ved å bruke forespørselsmodulen.