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
- Metóda 1: Vytváranie požiadaviek HTTP pomocou predvoleného modulu HTTP
- Metóda 2: Vytvorenie požiadavky HTTP pomocou externého modulu Axios
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 - aVý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 npmVý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. jsVý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 axiosPo 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.