Jak vytvářet požadavky HTTP pomocí modulu požadavků Node.js?

Jak Vytvaret Pozadavky Http Pomoci Modulu Pozadavku Node Js



HTTP požadavky jsou nejdůležitější a nedílnou součástí každé interaktivní aplikace, tyto požadavky zajišťují přenos dat mezi klientem a serverem. Pokud uživatel požaduje údaje o konkrétním dotazu, odešle požadavek a odpověď na tento požadavek obsahující požadovaná data je odeslána ze serveru. Celý tento postup závisí nebo využívá „ HTTP požadavky, které lze vytvořit pomocí externích modulů, jako je žádost “.

Tato příručka vysvětluje postup vytváření požadavků HTTP pomocí modulu požadavků Node.js tím, že pokryje následující části:

Jak vytvářet požadavky HTTP pomocí modulu požadavků Node.js?







Alternativy modulu požadavků Node.js



Závěr



Jak vytvářet požadavky HTTP pomocí modulu požadavků Node.js?

' žádost ” modul je nejpřímější modul, který pomáhá při odesílání nebo získávání požadavků HTTP. Tento modul je příliš jednoduchý a snadno pochopitelný, ale vývojářům poskytuje velmi malou svobodu. Vývojář navíc nemůže snadno upravit jeho základní funkce nebo vylepšit poskytované funkce.





Poznámka: Ačkoliv ' žádost “ je dobrý modul. Jeho tvůrci se však rozhodli na tomto modulu přestat pracovat a 11. února 2020 byl zcela ukončen.

Pokud si však přesto přejete získat představu o implementaci tohoto „ žádost ” pak navštivte níže uvedené kroky.



Krok 1: Instalace modulu „request“ a inicializace projektu Node.js

Začněte inicializací „ npm ” balíčky v požadovaném adresáři pro vytvoření projektu Node.js spuštěním příkazu:

npm init - a

Výstup ukazuje, že „npm“ byl úspěšně inicializován v poskytnutém adresáři:

Poté nainstalujte požadovaný „ žádost ” modul provedením příkazu:

požadavek na instalaci npm

Výstup ukazuje, že instalace byla dokončena, ale protože tento modul je zastaralý, proto bylo „npm“ odesláno zastaralé varování:

Krok 2: Vložení fiktivního kódu

Vytvořit ' .js ” v adresáři projektu Node.js, je to soubor, do kterého se programy vkládají a spouštějí později. Poté vložte níže uvedené řádky kódu pro ilustraci praktické implementace „ žádost “, jak je znázorněno níže:

konst reqObj = vyžadovat ( 'žádost' )

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

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

-li ( problémy ) řídicí panel. log ( problémy )

řídicí panel. log ( obsah ) ;

} ) ;

Vysvětlení výše uvedeného bloku kódu je následující:

  • Za prvé, „ žádost “ modul byl importován a jeho objekt je uložen v nové proměnné s názvem “ reqObj “.
  • Dále se předá URL nějakého online souboru JSON, jehož obsah je třeba načíst, jako hodnota pro „ baseUrl ” pojmenovaná proměnná.
  • Poté, „ reqObj proměnná ” se vyvolá jako konstruktor a proměnná “ baseUrl ” je předán jako jeho první parametr a funkce zpětného volání jako druhý parametr.
  • Uvnitř funkce zpětného volání je „ -li ” se používá k zobrazení všech vzniklých chyb a načtená data se také zobrazují nad oknem konzoly.

Krok 3: Provedení

Chcete-li spustit výše uvedený kód, spusťte obsahující soubor s názvem „ proApp.js ” v našem případě pomocí příkazu:

uzel proApp. js

Výstup po spuštění ukazuje, že zadaná data byla načtena a zobrazena přes konzolu:

Alternativy modulu požadavků Node.js

Vzhledem k ukončení podpory „ žádost “, existuje mnoho nových externích modulů, které lze použít k provedení podobné funkce. Tyto alternativní moduly jsou uvedeny níže:

Alternativy Popis
node-fetch Je to modul založený na slibu nebo streamu, který přináší metodu window.fetch() v Node.js.
http ' http ” modul je výchozí modul poskytovaný Node.js a poskytuje několik metod pro interakci s http servery a zároveň poskytuje větší svobodu.
axios Čistě na základě slibů a streamů provádět požadavky HTTP přes prohlížeč ze serveru i klienta.
dostal Je to super uživatelsky přívětivá a nejvýkonnější knihovna pro požadavky HTTP.
superagent Založeno na řetězení a slibech při poskytování podpory pro mnoho klientů HTTP na vysoké úrovni. Má také nízkou křivku učení.
ohnutý Je to funkční HTTP, který vrací funkci asynchronního typu.
udělat-přinést-uskutečnit Vylepšená forma „ node-fetch “modul. Nyní zahrnuje „sdružování požadavků“, „podporu mezipaměti“ a mnoho dalších věcí.
jehla Tento modul je nejpřehlednější a nejpokročilejší modul. Většinou se používá k získávání dat odesíláním požadavků na zdroje třetích stran.
tiny-json-http Minimalistický klient HTTP používaný k provádění datových částí JSON.

Nyní provedeme požadavky HTTP s využitím některých výše uvedených modulů.

Metoda 1: Vytváření požadavků HTTP pomocí výchozího modulu HTTP

' http “ je výchozí modul, protože se automaticky nainstaluje v době inicializace projektu node.js spuštěním příkazu “ npm init “ nebo „ npm init -y “. Protože jsme již vytvořili projekt node.js, přeskočíme inicializační kroky uvedené na začátku tohoto článku a ponoříme se přímo do vytváření http požadavků pomocí modulu „http“.

V níže uvedeném úryvku kódu byl vytvořen server a jako odpověď je na server odeslána fiktivní zpráva:

konst httpObj = vyžadovat ( 'http' ) ;

konst localServer = httpObj. createServer ( ( vyžádat odpověď ) => {

Odezva. napsat ( „Vítejte na stránce Twitter“ ) ;

Odezva. konec ( ) ;

} ) ;

localServer. poslouchat ( 8080 , ( ) => {

řídicí panel. log ( 'server začal na portu číslo 8080.' ) ;

} ) ;

Ve výše uvedeném bloku kódu:

  • Za prvé, „ http “ modul byl importován do aktuálního souboru a jeho objekt je uložen v nové proměnné s názvem “ httpObj “.
  • Dále server s názvem „ localServer “ je vytvořeno vyvoláním „ createServer() ” a předání funkce zpětného volání jako jejího parametru.
  • Uvnitř této funkce vyvolejte „ napsat() ” a přiřadit mu fiktivní zprávu, která se zobrazí na serveru. Také zavřete relaci odpovědi vyvoláním „ konec() ” může být náhodná fiktivní zpráva vložena také do závorky metody.
  • Poté nechte tento server spustit přes localhost s číslem portu „ 8080 “ vyvoláním „ poslouchat() “ metoda.

Spusťte výše uvedený kód obsahující soubor spuštěním níže uvedeného příkazu:

uzel < název souboru. js >

Vygenerovaný výstup potvrzuje, že požadavky HTTP byly provedeny prostřednictvím výchozího „ http modul:

Metoda 2: Vytvoření požadavku HTTP pomocí externího modulu Axios

' axios ” je nejoblíbenější a nejrozšířenější modul, pokud jde o provádění HTTP požadavků v prostředí reálného času. Chcete-li tento modul použít, musí jej vývojář nejprve nainstalovat provedením níže uvedeného příkazu:

npm nainstalovat axios

Po provedení příkazu se terminál zobrazí takto:

Nyní se podívejme na příklad, ve kterém „ DOSTAT ” HTTP požadavek bude použit k načtení dat z náhodného API. Poté se přijatá data zobrazí také přes konzolu:

konst axiosObj = vyžadovat ( 'axios' ) ;

// Adresa URL rozhraní JSON Placeholder API Pro výběr pouze části dat s ID 5

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

//Inicializace požadavku GET

axiosObj. dostat ( apiUrl )

. pak ( Odezva => {

řídicí panel. log ( 'Stav pro odpověď z API je:' , Odezva. postavení ) ;

řídicí panel. log ( 'Data přijatá z API jako odpověď na požadavek:' , Odezva. data ) ;

} )

. chytit ( chyba => {

řídicí panel. chyba ( 'Došlo k chybě:' , chyba ) ;

} ) ;

Vysvětlení výše uvedeného bloku kódu je uvedeno níže:

  • Nejprve importujte „ axios ” knihovny a uložte její instanci do proměnné s názvem “ axiosObj “, který funguje jako objekt knihovny „axios“.
  • Dále vytvořte proměnnou ' apiUrl “ a uložte adresu URL rozhraní API, ze kterého je třeba data načíst. V našem případě je adresa URL „ https://jsonplaceholder.typicode.com/todos/5 “, protože chceme získat data, která mají ID „ 5 “.
  • Nyní s pomocí „ axiosObj 'vyvolat' dostat() “ a předejte “ appURL ” proměnná uvnitř této závorky metody.
  • Připojte „ pak() “ metoda s “ dostat() “ a vytvořte anonymní funkci šipky, která obsahuje jeden parametr „ Odezva “.
  • Tento ' Odezva “ se chová jako objekt obsahující hodnoty nebo data vrácená v reakci na požadavek prostřednictvím „ dostat() “ metoda.
  • S pomocí tohoto „ Odezva “, načtěte stav požadavku a obsah připojením “ postavení ' a ' data “ klíčová slova vedle něj.
  • Nakonec připojte „ chytit() ” metoda, která zobrazuje chyby, pokud se nějaké vyskytly během provádění programu.

Nyní zkompilujte výše uvedený kód v prostředí Node.js pomocí níže uvedeného příkazu na terminálu:

uzel < název souboru >

Zobrazený výstup ukazuje, že požadovaná data byla načtena z poskytnutého zdroje jako odpověď a zobrazena v okně konzoly:

To je vše o vytváření požadavků HTTP pomocí modulu požadavků Node.js a rychlého přehledu jeho alternativ.

Závěr

Chcete-li vytvořit požadavek HTTP prostřednictvím „ žádost ”, požadovaná adresa URL, ze které se bude načítání provádět. Poté se vytvoří instance modulu „request“ a jako první parametr se předá vybraná adresa URL, pro kterou je třeba implementovat požadavek HTTP. Požadovaná funkce zpětného volání se také používá ke kontrole případných chyb a načtení obsahu nebo odpovědi na požadavek HTTP. Tato příručka vysvětluje proces vytváření požadavků HTTP pomocí modulu požadavků.