Hoe maak ik HTTP-verzoeken met de Node.js-verzoekmodule?

Hoe Maak Ik Http Verzoeken Met De Node Js Verzoekmodule



HTTP-verzoeken zijn het belangrijkste en meest integrale onderdeel van elke interactieve applicatie. Deze verzoeken verzorgen de overdracht van gegevens tussen de client- en serverzijde. Als de gebruiker gegevens over de specifieke vraag nodig heeft, stuurt hij een verzoek en het antwoord op dit verzoek met de vereiste gegevens wordt vanaf de server verzonden. Deze hele procedure is afhankelijk van of maakt gebruik van de “ HTTP ”-verzoeken die kunnen worden aangemaakt met behulp van externe modules zoals “ verzoek ”.

In deze handleiding wordt de procedure uitgelegd voor het indienen van HTTP-verzoeken met de Node.js-verzoekmodule door de onderstaande secties te behandelen:

Hoe maak ik HTTP-verzoeken met de Node.js-verzoekmodule?







Alternatieven voor de Node.js-aanvraagmodule



Conclusie



Hoe kan ik HTTP-verzoeken indienen met de Node.js-verzoekmodule?

De ' verzoek ”-module is de meest eenvoudige module die helpt bij het verzenden of ophalen van HTTP-verzoeken. Deze module is te eenvoudig en gemakkelijk te begrijpen, maar biedt ontwikkelaars zeer weinig vrijheid. Bovendien kan de ontwikkelaar de basisfunctionaliteit niet gemakkelijk wijzigen of de aangeboden functies verbeteren.





Opmerking: Hoewel de ' verzoek ” is een goede module. De makers ervan besloten echter te stoppen met werken aan deze module en deze werd op 11 februari 2020 volledig beëindigd.

Als u echter toch een idee wilt krijgen over de implementatie hiervan “ verzoek ”-module en volg dan de onderstaande stappen.



Stap 1: De “request” -module installeren en het Node.js-project initialiseren

Begin met het initialiseren van de “ npm ”-pakketten in de gewenste map om een ​​Node.js-project te maken door de opdracht uit te voeren:

npm init - En

De uitvoer laat zien dat de “npm” met succes is geïnitialiseerd in de opgegeven map:

Installeer vervolgens de vereiste “ verzoek ”-module door het commando uit te voeren:

npm-installatieverzoek

De uitvoer laat zien dat de installatie is voltooid, maar omdat deze module verouderd is, is daarom de verouderde waarschuwing verzonden door de “npm”:

Stap 2: Dummycode invoegen

Maak een ' .js ” type bestand in de Node.js-projectmap, het is het bestand waarin de programma's worden ingevoegd en later worden uitgevoerd. Voeg vervolgens de onderstaande coderegels in om de praktische implementatie van de “ verzoek ”-module, zoals hieronder weergegeven:

const verzoekObj = vereisen ( 'verzoek' )

laat baseUrl = 'https://jsonplaceholder.typicode.com/todos/6' ;

verzoekObj ( basisUrl, ( problemen, inhoud ) => {

als ( problemen ) troosten. loggen ( problemen )

troosten. loggen ( inhoud ) ;

} ) ;

De uitleg van het bovenstaande codeblok is als volgt:

  • Eerst de ' verzoek ' module is geïmporteerd en het object ervan is opgeslagen in een nieuwe variabele met de naam ' verzoekObj ”.
  • Vervolgens wordt de URL van een online JSON-bestand waarvan de inhoud moet worden opgehaald, doorgegeven als de waarde voor de “ basisUrl ' genoemde variabele.
  • Dan de ' verzoekObj ”variabele wordt aangeroepen als de constructor, en de “ basisUrl ” wordt doorgegeven als de eerste parameter en de callback-functie als de tweede parameter.
  • Binnen de callback-functie, de “ als ”-instructie wordt gebruikt om eventuele opgetreden fouten weer te geven en de opgehaalde gegevens worden ook weergegeven via het consolevenster.

Stap 3: Uitvoering

Om de bovenstaande code uit te voeren, voert u het bevattende bestand met de naam “ proApp.js ”in ons geval met behulp van het commando:

knooppunt proApp. js

De uitvoer na uitvoering laat zien dat de opgegeven gegevens zijn opgehaald en weergegeven via de console:

Alternatieven voor de Node.js-aanvraagmodule

Door het afschaffen van de “ verzoek ”-module zijn er veel nieuwe externe modules die kunnen worden gebruikt om vergelijkbare functionaliteit uit te voeren. Deze alternatieve modules worden hieronder vermeld:

Alternatieven Beschrijving
knooppunt ophalen Het is een belofte- of streamgebaseerde module die een window.fetch() -methode in Node.js brengt.
http De ' http ”-module is de standaardmodule van Node.js en biedt verschillende methoden voor interactie met http-servers en biedt tegelijkertijd meer vrijheid.
axioma's Puur gebaseerd op beloften en streams om HTTP-verzoeken via de browser uit te voeren, zowel vanaf de server als de client.
gekregen Het is super mensvriendelijk en de krachtigste bibliotheek voor HTTP-verzoeken.
superagent Gebaseerd op ketens en beloftes en tegelijkertijd ondersteuning biedend voor veel HTTP-clients op hoog niveau. Het heeft ook een lage leercurve.
krom Het is een functionele HTTP die een asynchrone functie retourneert.
make-fetch-gebeurt Een verbeterde vorm van “ knooppunt ophalen ”module. Het omvat nu “request pooling”, “cache support” en nog veel meer dingen.
naald Deze module is de duidelijkste en meest vooruitstrevende module. Het wordt meestal gebruikt om gegevens op te halen door verzoeken naar externe bronnen te sturen.
tiny-json-http Minimalistische HTTP-client gebruikt om de JSON-payloads uit te voeren.

Laten we nu HTTP-verzoeken uitvoeren door gebruik te maken van enkele hierboven besproken modules.

Methode 1: HTTP-verzoeken indienen met behulp van de standaard HTTP-module

De ' http ” is een standaardmodule omdat deze automatisch wordt geïnstalleerd op het moment dat het node.js-project wordt geïnitialiseerd door de opdracht “ npm init ' of ' npm init-y ”. Omdat we al een node.js-project hebben gemaakt, slaan we de initialisatiestappen over die aan het begin van dit artikel zijn gedemonstreerd en duiken we direct in het maken van http-verzoeken met behulp van de “http”-module.

In het onderstaande codefragment is de server aangemaakt en als reactie wordt het dummybericht naar de server verzonden:

const httpObj = vereisen ( 'http' ) ;

const lokale server = httpObj. creëerServer ( ( aanvraag antwoord ) => {

antwoord. schrijven ( 'Welkom op de Twitterpagina' ) ;

antwoord. einde ( ) ;

} ) ;

lokale server. luisteren ( 8080 , ( ) => {

troosten. loggen ( 'server gestart op poortnummer 8080.' ) ;

} ) ;

In het bovenstaande codeblok:

  • Eerst de ' http De module 'is geïmporteerd in het huidige bestand en het object ervan is opgeslagen in een nieuwe variabele met de naam' httpObj ”.
  • Vervolgens wordt de server met de naam “ lokale server ' wordt gemaakt door een beroep te doen op de ' createServer() ”-methode en het doorgeven van de callback-functie als parameter.
  • Roep binnen deze functie een “ schrijven() ”-methode en wijs er een dummy-bericht aan toe dat via de server wordt weergegeven. Sluit ook de antwoordsessie door het aanroepen van de “ einde() ”-bericht, kan het willekeurige dummy-bericht ook tussen de haakjes van de methode worden ingevoegd.
  • Laat daarna deze server uitvoeren via de localhost met het poortnummer “ 8080 'door een beroep te doen op de' luisteren() methode.

Voer het bovenstaande codebevattende bestand uit door de onderstaande opdracht uit te voeren:

knooppunt < bestandsnaam. js >

De gegenereerde uitvoer bevestigt dat HTTP-verzoeken zijn uitgevoerd via de standaard “ http ” module:

Methode 2: HTTP-verzoek indienen met behulp van de externe Axios-module

De ' axioma's ” is de populairste en meest gebruikte module als het gaat om het uitvoeren van HTTP-verzoeken in een realtime omgeving. Om deze module te gebruiken, moet de ontwikkelaar deze eerst installeren door de onderstaande opdracht uit te voeren:

npm installeer axios

Na het uitvoeren van de opdracht ziet de terminal er als volgt uit:

Laten we nu eens kijken naar een voorbeeld waarin de “ KRIJGEN “HTTP-verzoek zal worden gebruikt om de gegevens uit een willekeurige API op te halen. Vervolgens worden de ontvangen gegevens ook via de console weergegeven:

const AxiosObj = vereisen ( 'axios' ) ;

// URL van de JSON Placeholder API om slechts een deel van de gegevens met ID 5 te selecteren

const apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

// Het GET-verzoek initialiseren

AxiosObj. krijgen ( apiUrl )

. Dan ( antwoord => {

troosten. loggen ( 'De status voor het antwoord van API is:' , antwoord. toestand ) ;

troosten. loggen ( 'De gegevens ontvangen van de API als antwoord op een verzoek:' , antwoord. gegevens ) ;

} )

. vangst ( fout => {

troosten. fout ( 'De fout is opgetreden:' , fout ) ;

} ) ;

De uitleg van het bovenstaande codeblok staat hieronder:

  • Importeer eerst de “ axioma's ”bibliotheek en sla de instantie ervan op in de variabele met de naam “ AxiosObj ', dat fungeert als een object van de 'axios'-bibliotheek.
  • Maak vervolgens een variabele “ apiUrl ” en sla de URL op van de API waaruit de gegevens moeten worden opgehaald. In ons geval is de URL “ https://jsonplaceholder.typicode.com/todos/5 ' omdat we gegevens willen ophalen met de ID ' 5 ”.
  • Nu, met behulp van “ AxiosObj 'roep de' krijgen() ”-methode en geef de “ appURL ”variabele binnen dit haakje van de methode.
  • Bevestig de “ Dan() 'methode met de' krijgen() ”-methode en maak een anonieme pijlfunctie die een enkele parameter bevat van “ antwoord ”.
  • Dit ' antwoord ' fungeert als een object dat de waarden of gegevens bevat die zijn geretourneerd als reactie op het verzoek via de ' krijgen() methode.
  • Met behulp hiervan “ antwoord ”-object, haal de status van het verzoek en de inhoud op door het “ toestand ' En ' gegevens trefwoorden ernaast.
  • Voeg ten slotte de “ vangst() ”-methode die eventuele fouten weergeeft tijdens de uitvoering van het programma.

Compileer nu de bovenstaande code in de Node.js-omgeving met behulp van de onderstaande opdracht op de terminal:

knooppunt < bestandsnaam >

De weergegeven uitvoer laat zien dat de gevraagde gegevens als antwoord uit de opgegeven bron zijn opgehaald en via het consolevenster worden weergegeven:

Dat gaat allemaal over het doen van HTTP-verzoeken met de Node.js Request Module en een snel overzicht van de alternatieven.

Conclusie

Om een ​​HTTP-verzoek te doen via de “ verzoek ”-module, de vereiste URL vanwaar het ophalen zal worden uitgevoerd. Vervolgens wordt de instantie van de “request”-module gemaakt en wordt de geselecteerde URL waarvoor het HTTP-verzoek moet worden geïmplementeerd, als eerste parameter doorgegeven. De vereiste callback-functie wordt ook gebruikt om te controleren op eventuele fouten en om de inhoud of het antwoord van het HTTP-verzoek op te halen. In deze handleiding wordt het proces uitgelegd van het maken van HTTP-verzoeken met behulp van de verzoekmodule.