Ako vytvárať požiadavky HTTP s modulom požiadaviek Node.js?

Ako Vytvarat Poziadavky Http S Modulom Poziadaviek Node Js



HTTP požiadavky sú najdôležitejšou a neoddeliteľnou súčasťou každej interaktívnej aplikácie, tieto požiadavky sa starajú o prenos dát medzi klientom a serverom. Ak používateľ požaduje údaje o konkrétnom dotaze, odošle požiadavku a zo servera dostane odpoveď na túto požiadavku obsahujúcu požadované údaje. Celý tento postup závisí alebo využíva „ HTTP “požiadavky, ktoré je možné vytvoriť pomocou externých modulov ako “ žiadosť “.

Táto príručka vysvetľuje postup vytvárania požiadaviek HTTP s modulom požiadaviek Node.js tým, že zahŕňa nižšie uvedené sekcie:

Ako vytvárať požiadavky HTTP s modulom požiadaviek Node.js?







Alternatívy modulu požiadaviek Node.js



Záver



Ako vytvárať požiadavky HTTP pomocou modulu požiadaviek Node.js?

' žiadosť ” modul je najjednoduchší modul, ktorý pomáha pri odosielaní alebo získavaní HTTP požiadaviek. Tento modul je príliš jednoduchý a ľahko pochopiteľný, ale vývojárom poskytuje veľmi malú slobodu. Okrem toho vývojár nemôže ľahko upraviť jeho základné funkcie alebo vylepšiť poskytované funkcie.





Poznámka: Napriek tomu ' žiadosť “ je dobrý modul. Jeho tvorcovia sa však rozhodli ukončiť prácu na tomto module a 11. februára 2020 bola jeho podpora úplne ukončená.

Ak však stále túžite získať predstavu o implementácii tohto „ žiadosť “, potom navštívte nižšie uvedené kroky.



Krok 1: Inštalácia modulu „request“ a inicializácia projektu Node.js

Začnite inicializáciou „ npm ” balíky v požadovanom adresári na vytvorenie projektu Node.js spustením príkazu:

npm init - a

Výstup ukazuje, že „npm“ bol úspešne inicializovaný v poskytnutom adresári:

Potom nainštalujte požadované „ žiadosť ” modul vykonaním príkazu:

žiadosť o inštaláciu npm

Výstup ukazuje, že inštalácia bola dokončená, ale keďže tento modul je zastaraný, preto „npm“ poslal zastarané varovanie:

Krok 2: Vloženie fiktívneho kódu

Vytvor ' .js ” typ súboru v adresári projektu Node.js, je to súbor, do ktorého sa programy vložia a spustia neskôr. Potom vložte nižšie uvedené riadky kódu na ilustráciu praktickej implementácie „ žiadosť “, ako je znázornené nižšie:

konšt reqObj = vyžadovať ( 'žiadosť' )

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

reqObj ( baseUrl, ( problémy, obsah ) => {

ak ( problémy ) konzola. log ( problémy )

konzola. log ( obsahu ) ;

} ) ;

Vysvetlenie vyššie uvedeného bloku kódu je nasledovné:

  • Po prvé, „ žiadosť ” modul bol importovaný a jeho objekt je uložený v novej premennej s názvom “ reqObj “.
  • Ďalej sa adresa URL nejakého online súboru JSON, ktorého obsah je potrebné načítať, odovzdá ako hodnota pre „ baseUrl ” pomenovaná premenná.
  • Potom ' reqObj Premenná ” sa vyvolá ako konštruktor a premenná “ baseUrl ” je odovzdaný ako jeho prvý parameter a funkcia spätného volania ako druhý parameter.
  • Vo vnútri funkcie spätného volania je „ ak ” sa používa na zobrazenie všetkých vyskytnutých chýb a načítané údaje sa zobrazujú aj cez okno konzoly.

Krok 3: Realizácia

Ak chcete spustiť vyššie uvedený kód, spustite súbor s názvom „ proApp.js ” v našom prípade pomocou príkazu:

uzol proApp. js

Výstup po vykonaní ukazuje, že zadané údaje boli načítané a zobrazené cez konzolu:

Alternatívy modulu požiadaviek Node.js

Z dôvodu ukončenia podpory „ žiadosť “, existuje veľa nových externých modulov, ktoré možno použiť na vykonávanie podobnej funkcie. Tieto alternatívne moduly sú uvedené nižšie:

Alternatívy Popis
node-fetch Je to modul založený na prísľube alebo streame, ktorý prináša metódu window.fetch() v Node.js.
http ' http ” modul je predvolený modul poskytovaný Node.js a poskytuje niekoľko metód na interakciu s http servermi a zároveň poskytuje väčšiu slobodu.
axios Čisto na základe sľubov a streamov vykonávať požiadavky HTTP cez prehliadač zo servera aj klienta.
dostal Je to super ľudsky prívetivá a najvýkonnejšia knižnica pre požiadavky HTTP.
superagent Založené na reťazení a sľuboch pri poskytovaní podpory pre mnohých klientov HTTP na vysokej úrovni. Má tiež nízku krivku učenia.
ohnutý Je to funkčný HTTP, ktorý vracia funkciu asynchrónneho typu.
vybaviť sa Vylepšená forma „ node-fetch “. Teraz zahŕňa „združovanie žiadostí“, „podporu vyrovnávacej pamäte“ a mnoho ďalších vecí.
ihla Tento modul je najprehľadnejší a najpoprednejší modul. Väčšinou sa používa na získavanie údajov odosielaním požiadaviek na zdroje tretích strán.
tiny-json-http Minimalistický HTTP klient používaný na vykonávanie dátových zaťažení JSON.

Teraz vykonajme požiadavky HTTP s využitím niektorých vyššie uvedených modulov.

Metóda 1: Vytváranie požiadaviek HTTP pomocou predvoleného modulu HTTP

' http “ je predvolený modul, pretože sa automaticky nainštaluje v čase inicializácie projektu node.js spustením príkazu “ npm init “ alebo „ npm init -y “. Keďže sme už vytvorili projekt node.js, preskočíme inicializačné kroky uvedené na začiatku tohto článku a ponoríme sa priamo do vytvárania http požiadaviek pomocou modulu „http“.

V nižšie uvedenom úryvku kódu bol vytvorený server a ako odpoveď sa na server odošle fiktívna správa:

konšt httpObj = vyžadovať ( 'http' ) ;

konšt localServer = httpObj. createServer ( ( žiadosť, odpoveď ) => {

odpoveď. písať ( „Vitajte na stránke Twitter“ ) ;

odpoveď. koniec ( ) ;

} ) ;

localServer. počúvaj ( 8080 , ( ) => {

konzoly. log ( 'server začal na čísle portu 8080.' ) ;

} ) ;

Vo vyššie uvedenom bloku kódu:

  • Po prvé, „ http ” modul bol importovaný do aktuálneho súboru a jeho objekt je uložený v novej premennej s názvom “ httpObj “.
  • Ďalej server s názvom „ localServer “ sa vytvorí vyvolaním „ createServer() ” a odovzdanie funkcie spätného volania ako jej parametra.
  • Vo vnútri tejto funkcie vyvolajte „ písať () “ a priraďte jej fiktívnu správu, ktorá sa zobrazí na serveri. Zatvorte tiež reláciu odpovede vyvolaním „ koniec() ” môže byť náhodná fiktívna správa vložená aj do zátvorky metódy.
  • Potom nechajte tento server spustiť cez localhost s číslom portu „ 8080 “ vyvolaním „ počúvať () “.

Vykonajte vyššie uvedený kód obsahujúci súbor spustením nižšie uvedeného príkazu:

uzol < názov súboru. js >

Vygenerovaný výstup potvrdzuje, že požiadavky HTTP boli vykonané prostredníctvom predvoleného „ http modul:

Metóda 2: Vytvorenie požiadavky HTTP pomocou externého modulu Axios

' axios ” je najpopulárnejší a najrozšírenejší modul, pokiaľ ide o vykonávanie požiadaviek HTTP v prostredí v reálnom čase. Ak chcete použiť tento modul, vývojár ho musí najskôr nainštalovať vykonaním nižšie uvedeného príkazu:

npm nainštalujte axios

Po vykonaní príkazu sa terminál zobrazí takto:

Teraz sa pozrime na príklad, v ktorom „ GET ” HTTP požiadavka sa použije na získanie údajov z náhodného API. Potom sa prijaté údaje zobrazia aj cez konzolu:

konšt axiosObj = vyžadovať ( 'axios' ) ;

// Adresa URL rozhrania JSON Placeholder API na výber iba časti údajov s ID 5

konšt apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

//Inicializácia požiadavky GET

axiosObj. dostať ( apiUrl )

. potom ( odpoveď => {

konzoly. log ( 'Stav pre odpoveď z API je:' , odpoveď. postavenie ) ;

konzoly. log ( 'Údaje prijaté z API ako odpoveď na požiadavku:' , odpoveď. údajov ) ;

} )

. chytiť ( chyba => {

konzoly. chyba ( 'Vyskytla sa chyba:' , chyba ) ;

} ) ;

Vysvetlenie vyššie uvedeného bloku kódu je uvedené nižšie:

  • Najprv importujte súbor „ axios ” knižnicu a uložte jej inštanciu do premennej s názvom “ axiosObj “, ktorý funguje ako objekt knižnice „axios“.
  • Ďalej vytvorte premennú „ apiUrl “ a uložte adresu URL rozhrania API, z ktorého je potrebné získať údaje. V našom prípade je adresa URL „ https://jsonplaceholder.typicode.com/todos/5 “, pretože chceme získať údaje, ktoré majú ID „ 5 “.
  • Teraz s pomocou „ axiosObj 'vyvolať' dostať () “ a prejsť metódou “ appURL ” premenná v tejto zátvorke metódy.
  • Pripojte „ potom () “ metóda s “ dostať () “ a vytvorte anonymnú funkciu šípky, ktorá obsahuje jeden parameter „ odpoveď “.
  • toto ' odpoveď ” funguje ako objekt obsahujúci hodnoty alebo dáta vrátené ako odpoveď na požiadavku cez “ dostať () “.
  • S pomocou tohto „ odpoveď “, získajte stav žiadosti a obsah pripojením “ postavenie “ a „ údajov kľúčové slová vedľa neho.
  • Nakoniec pripojte „ chytiť () ” metóda, ktorá zobrazuje chyby, ak sa nejaké vyskytli počas vykonávania programu.

Teraz skompilujte vyššie uvedený kód v prostredí Node.js pomocou nižšie uvedeného príkazu na termináli:

uzol < názov súboru >

Zobrazený výstup ukazuje, že požadované údaje boli získané z poskytnutého zdroja ako odpoveď a zobrazené v okne konzoly:

To je všetko o vytváraní požiadaviek HTTP pomocou modulu požiadaviek Node.js a o rýchlom prehľade jeho alternatív.

Záver

Ak chcete vykonať požiadavku HTTP prostredníctvom „ žiadosť “, požadovaná adresa URL, z ktorej sa má vykonať načítanie. Potom sa vytvorí inštancia modulu „request“ a ako prvý parameter sa odovzdá vybraná adresa URL, pre ktorú je potrebné implementovať požiadavku HTTP. Požadovaná funkcia spätného volania sa tiež používa na kontrolu akýchkoľvek vyskytnutých chýb a na získanie obsahu alebo odpovede na požiadavku HTTP. Táto príručka vysvetľuje proces vytvárania požiadaviek HTTP pomocou modulu požiadaviek.