Kuinka tehdä HTTP-pyyntöjä Node.js-pyyntömoduulilla?

Kuinka Tehda Http Pyyntoja Node Js Pyyntomoduulilla



HTTP-pyynnöt ovat minkä tahansa interaktiivisen sovelluksen tärkein ja olennaisin osa, nämä pyynnöt käsittelevät tiedonsiirtoa asiakkaan ja palvelinpuolen välillä. Jos käyttäjä tarvitsee tietoja tietystä kyselystä, se lähettää pyynnön ja tähän pyyntöön lähetetään tarvittavat tiedot sisältävä vastaus palvelimelta. Tämä koko menettely riippuu tai käyttää ' HTTP 'pyynnöt, jotka voidaan luoda käyttämällä ulkoisia moduuleja, kuten ' pyyntö ”.

Tämä opas selittää HTTP-pyyntöjen tekemisen Node.js-pyyntömoduulilla kattamalla seuraavat osiot:

Kuinka tehdä HTTP-pyyntöjä Node.js-pyyntömoduulilla?







Node.js-pyyntömoduulin vaihtoehdot



Johtopäätös



Kuinka tehdä HTTP-pyyntöjä Node.js-pyyntömoduulin avulla?

' pyyntö ”-moduuli on yksinkertaisin moduuli, joka auttaa HTTP-pyyntöjen lähettämisessä tai hakemisessa. Tämä moduuli on liian yksinkertainen ja helppo ymmärtää, mutta se tarjoaa hyvin vähän vapautta kehittäjille. Lisäksi kehittäjä ei voi helposti muokata sen perustoimintoja tai parantaa sen tarjoamia ominaisuuksia.





Huomautus: Vaikkakin ' pyyntö ” on hyvä moduuli. Sen tekijät päättivät kuitenkin lopettaa työskentelyn tämän moduulin parissa, ja se poistettiin kokonaan käytöstä 11. helmikuuta 2020.

Jos kuitenkin haluat vielä saada käsityksen tämän toteutuksesta pyyntö ” -moduulissa, käy sitten alla mainituissa vaiheissa.



Vaihe 1: 'Request'-moduulin asentaminen ja Node.js-projektin alustaminen

Aloita alustamalla ' npm ” paketit haluttuun hakemistoon luodaksesi Node.js-projektin suorittamalla komennon:

npm init - ja

Tulos näyttää, että 'npm' on alustettu onnistuneesti toimitettuun hakemistoon:

Asenna sitten tarvittava ' pyyntö ”-moduuli suorittamalla komennon:

npm-asennuspyyntö

Tulos näyttää, että asennus on valmis, mutta koska tämä moduuli on vanhentunut, 'npm' on lähettänyt vanhentuneen varoituksen:

Vaihe 2: Nuken koodin lisääminen

Luo ' .js ”-tyyppinen tiedosto Node.js-projektihakemistossa, se on tiedosto, johon ohjelmat lisätään ja suoritetaan myöhemmin. Lisää sitten alla olevat koodirivit havainnollistamaan ' pyyntö ”-moduuli alla olevan kuvan mukaisesti:

konst reqObj = vaatia ( 'pyyntö' )

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

reqObj ( baseUrl, ( ongelmat, sisältö ) => {

jos ( ongelmia ) konsoli. Hirsi ( ongelmia )

konsoli. Hirsi ( sisältö ) ;

} ) ;

Yllä olevan koodilohkon selitys on seuraava:

  • Ensinnäkin ' pyyntö ' moduuli on tuotu ja sen objekti on tallennettu uuteen muuttujaan nimeltä ' reqObj ”.
  • Seuraavaksi jonkin verkko-JSON-tiedoston URL-osoite, jonka sisältö on haettava, välitetään arvoksi ' baseUrl ”-niminen muuttuja.
  • Sitten ' reqObj '-muuttuja kutsutaan rakentajaksi ja ' baseUrl ” välitetään ensimmäisenä parametrina ja takaisinsoittotoiminto toisena parametrina.
  • Takaisinsoittotoiminnon sisällä ' jos ” -lausetta käytetään mahdollisten tapahtuneiden virheiden näyttämiseen ja haetut tiedot näkyvät myös konsoli-ikkunassa.

Vaihe 3: Suoritus

Suorita yllä oleva koodi suorittamalla tiedosto nimeltä ' proApp.js ' meidän tapauksessamme käyttämällä komentoa:

solmu proApp. js

Suorituksen jälkeinen tulos näyttää, että määritetyt tiedot on haettu ja esitetty konsolin kautta:

Node.js-pyyntömoduulin vaihtoehdot

' pyyntö ”-moduulissa on paljon uusia ulkoisia moduuleja, joilla voidaan suorittaa samanlaisia ​​toimintoja. Nämä vaihtoehtoiset moduulit on lueteltu alla:

Vaihtoehtoja Kuvaus
solmuhaku Se on lupaus tai stream-pohjainen moduuli, joka tuo window.fetch()-menetelmän Node.js:ään.
http ' http ”-moduuli on Node.js:n tarjoama oletusmoduuli, ja se tarjoaa useita tapoja olla vuorovaikutuksessa http-palvelimien kanssa samalla, kun se tarjoaa enemmän vapautta.
aksiot Perustuu puhtaasti lupauksiin ja streameihin HTTP-pyyntöjen suorittamiseksi selaimen kautta sekä palvelimelta että asiakaspäältä.
sain Se on erittäin ihmisystävällinen ja tehokkain kirjasto HTTP-pyyntöille.
superagentti Perustuu ketjutukseen ja lupauksiin samalla kun se tarjoaa tukea monille korkean tason HTTP-asiakkaille. Sillä on myös alhainen oppimiskäyrä.
taipunut Se on toiminnallinen HTTP, joka palauttaa async-tyyppisen funktion.
tehdä-hakea-tapahtua Parannettu muoto ' solmuhaku ” moduuli. Se sisältää nyt 'pyyntöjen yhdistämisen', 'välimuistin tuen' ja paljon muuta.
neula Tämä moduuli on selkein ja eteenpäin suuntautuvin moduuli. Sitä käytetään enimmäkseen tietojen hakemiseen lähettämällä pyyntöjä kolmannen osapuolen lähteille.
tiny-json-http Minimalistinen HTTP-asiakas, jota käytetään JSON-hyötykuormien suorittamiseen.

Suoritetaan nyt HTTP-pyynnöt käyttämällä joitain edellä käsiteltyjä moduuleja.

Tapa 1: HTTP-pyyntöjen tekeminen oletusarvoisen HTTP-moduulin avulla

' http ' on oletusmoduuli, koska se asennetaan automaattisesti node.js-projektin alustuksen yhteydessä suorittamalla komento ' npm init ' tai ' npm init -y ”. Koska olemme jo luoneet node.js-projektin, ohitamme tämän artikkelin alussa esitetyt alustusvaiheet ja siirrymme suoraan http-pyyntöjen luomiseen http-moduulin avulla.

Alla olevassa koodinpätkässä palvelin on luotu ja vastauksena valeviesti lähetetään palvelimelle:

konst httpObj = vaatia ( 'http' ) ;

konst paikallinen palvelin = httpObj. createServer ( ( pyyntö, vastaus ) => {

vastaus. kirjoittaa ( 'Tervetuloa Twitter-sivulle' ) ;

vastaus. loppu ( ) ;

} ) ;

paikallinen palvelin. kuunnella ( 8080 , ( ) => {

konsoli. Hirsi ( 'palvelin alkoi portista 8080.' ) ;

} ) ;

Yllä olevassa koodilohkossa:

  • Ensinnäkin ' http ' moduuli on tuotu nykyisen tiedoston sisään ja sen objekti on tallennettu uuteen muuttujaan nimeltä ' httpObj ”.
  • Seuraavaksi palvelin nimeltä ' paikallinen palvelin ' luodaan kutsumalla ' createServer() ” -menetelmää ja antaa takaisinsoittofunktion parametriksi.
  • Kutsu tämän funktion sisällä ' kirjoittaa() ” -menetelmää ja määritä sille valeviesti, joka näytetään palvelimen yli. Sulje myös vastausistunto kutsumalla ' loppu () ” -viesti, satunnainen dummy-sanoma voidaan lisätä myös metodisulkujen sisään.
  • Tämän jälkeen aseta tämä palvelin suorittamaan paikallispalvelimen kautta, jonka porttinumero on ' 8080 ' kutsumalla ' kuunnella() ”menetelmä.

Suorita yllä oleva koodi sisältävä tiedosto suorittamalla alla oleva komento:

solmu < Tiedoston nimi. js >

Luotu tulos vahvistaa, että HTTP-pyynnöt on suoritettu oletusarvon kautta http ” moduuli:

Tapa 2: HTTP-pyynnön tekeminen ulkoisen Axios-moduulin avulla

' aksiot ” on suosituin ja laajimmin käytetty moduuli HTTP-pyyntöjen suorittamisessa reaaliaikaisessa ympäristössä. Käyttääksesi tätä moduulia, kehittäjän on ensin asennettava se suorittamalla alla oleva komento:

npm asennus axios

Komennon suorittamisen jälkeen pääte näyttää tältä:

Katsotaanpa nyt esimerkkiä, jossa ' SAADA ” HTTP-pyyntöä käytetään tietojen hakemiseen satunnaisesta API:sta. Sitten vastaanotetut tiedot näkyvät myös konsolin yli:

konst axiosObj = vaatia ( 'aksiot' ) ;

// JSON-paikkamerkkisovellusliittymän URL-osoite Valitse vain osa tiedoista, joiden tunnus on 5

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

//GET-pyynnön alustaminen

axiosObj. saada ( apiUrl )

. sitten ( vastaus => {

konsoli. Hirsi ( 'API:n vastauksen tila on:' , vastaus. Tila ) ;

konsoli. Hirsi ( 'API:lta saadut tiedot vastauksena pyyntöön:' , vastaus. tiedot ) ;

} )

. ottaa kiinni ( virhe => {

konsoli. virhe ( 'Virhe on tapahtunut:' , virhe ) ;

} ) ;

Yllä olevan koodilohkon selitys on esitetty alla:

  • Tuo ensin ' aksiot ' -kirjasto ja tallenna sen esiintymä muuttujaan nimeltä ' axiosObj ', joka toimii 'axios'-kirjaston objektina.
  • Luo seuraavaksi muuttuja ' apiUrl ” ja tallenna sen API:n URL-osoite, josta tiedot on haettava. Meidän tapauksessamme URL-osoite on ' https://jsonplaceholder.typicode.com/todos/5 ', koska haluamme hakea tietoja, joiden tunnus on ' 5 ”.
  • Nyt '' axiosObj ' kutsua ' saada() ' -menetelmää ja välitä ' appURL ”-muuttuja tämän menetelmän suluissa.
  • Kiinnitä ' sitten() ' menetelmällä ' saada() ' -menetelmää ja luo anonyymi nuolifunktio, joka sisältää yhden parametrin ' vastaus ”.
  • Tämä ' vastaus ” toimii objektina, joka sisältää arvot tai tiedot, jotka palautettiin vastauksena pyyntöön ” saada() ”menetelmä.
  • Tämän avulla ' vastaus ' -objekti, noutaa pyynnön ja sisällön tilan liittämällä ' Tila ' ja ' tiedot ”avainsanat vieressä.
  • Liitä lopuksi ' ottaa kiinni() ” -menetelmä, joka näyttää virheet, jos niitä on tapahtunut ohjelman suorittamisen aikana.

Käännä nyt yllä oleva koodi Node.js-ympäristössä käyttämällä alla olevaa komentoa terminaalissa:

solmu < Tiedoston nimi >

Näytössä oleva tulos osoittaa, että pyydetyt tiedot on haettu annetusta lähteestä vastauksena ja näytetään konsoliikkunassa:

Siinä kaikki HTTP-pyyntöjen tekeminen Node.js-pyyntömoduulin avulla ja nopea yleiskatsaus sen vaihtoehdoista.

Johtopäätös

HTTP-pyynnön tekeminen ' pyyntö ”-moduuli, vaadittu URL-osoite, josta haku suoritetaan. Sitten luodaan 'pyyntö'-moduulin esiintymä ja valittu URL-osoite, jolle HTTP-pyyntö on toteutettava, välitetään ensimmäisenä parametrina. Vaadittua takaisinsoittotoimintoa käytetään myös mahdollisten virheiden tarkistamiseen ja HTTP-pyynnön sisällön tai vastauksen hakemiseen. Tässä oppaassa on selitetty HTTP-pyyntöjen tekeminen pyyntömoduulin avulla.