Cum se fac cereri HTTP cu modulul de solicitare Node.js?

Cum Se Fac Cereri Http Cu Modulul De Solicitare Node Js



Solicitările HTTP sunt cea mai importantă și parte integrantă a oricărei aplicații interactive, aceste solicitări se ocupă de transferul de date între client și partea de server. Dacă utilizatorul solicită date despre interogarea specifică, va trimite o solicitare și răspunsul la această solicitare care conține datele necesare este trimis de la server. Toată această procedură depinde sau utilizează „ HTTP ” solicitări care pot fi create folosind module externe precum “ cerere ”.

Acest ghid explică procedura de a face cereri HTTP cu modulul de solicitare Node.js, acoperind secțiunile de mai jos:

Cum se fac cereri HTTP cu modulul de solicitare Node.js?







Alternative ale Node.js Request Module



Concluzie



Cum se fac cereri HTTP utilizând modulul de solicitare Node.js?

cerere Modulul ” este cel mai simplu modul care ajută la trimiterea sau preluarea solicitărilor HTTP. Acest modul este prea simplu și ușor de înțeles, dar oferă foarte puțină libertate dezvoltatorilor. Mai mult, dezvoltatorul nu își poate modifica cu ușurință funcționalitatea de bază sau își poate îmbunătăți caracteristicile furnizate.





Notă: Desi ' cerere ” este un modul bun. Cu toate acestea, creatorii săi au decis să nu mai lucreze la acest modul și a fost complet depreciat pe 11 februarie 2020.

Cu toate acestea, dacă încă doriți să vă faceți o idee despre implementarea acestui „ cerere ” apoi vizitați pașii menționați mai jos.



Pasul 1: Instalarea modulului „cerere” și inițializarea proiectului Node.js

Începeți prin a inițializa „ npm ” pachete din directorul dorit pentru a crea un proiect Node.js rulând comanda:

npm init - și

Rezultatul arată că „npm” a fost inițializat cu succes în directorul furnizat:

Apoi, instalați „ cerere ” prin executarea comenzii:

cerere de instalare npm

Rezultatul arată că instalarea a fost finalizată, dar deoarece acest modul este depreciat, de aceea avertismentul depreciat a fost trimis de către „npm”:

Pasul 2: Introducerea codului fals

Creeaza o ' .js ” tip fișier în directorul proiectului Node.js, este fișierul în care programele sunt inserate și executate ulterior. Apoi, introduceți rândurile de cod de mai jos pentru a ilustra implementarea practică a „ cerere ”modul, după cum se arată mai jos:

const reqObj = cere ( 'cerere' )

lasă baseUrl = „https://jsonplaceholder.typicode.com/todos/6” ;

reqObj ( url de bază, ( probleme, conținut ) => {

dacă ( probleme ) consolă. Buturuga ( probleme )

consolă. Buturuga ( conţinut ) ;

} ) ;

Explicația blocului de cod de mai sus este următoarea:

  • În primul rând, „ cerere ” a fost importat și obiectul său este stocat într-o nouă variabilă numită “ reqObj ”.
  • Apoi, adresa URL a unui fișier JSON online al cărui conținut trebuie preluat este transmisă ca valoare pentru „ url de bază ” variabilă numită.
  • Apoi, „ reqObj ” este invocată ca constructor, iar “ url de bază ” este transmis ca prim parametru și funcția de apel invers ca al doilea parametru.
  • În interiorul funcției de apel invers, „ dacă ” instrucțiunea este utilizată pentru a afișa orice erori apărute, iar datele preluate sunt afișate și în fereastra consolei.

Pasul 3: Execuție

Pentru a executa codul de mai sus, rulați fișierul care conține numele „ proApp.js ” în cazul nostru folosind comanda:

nodul proApp. js

Ieșirea după execuție arată că datele specificate au fost preluate și afișate pe consolă:

Alternative ale Node.js Request Module

Din cauza deprecierii „ cerere ”, există o mulțime de module externe noi care pot fi folosite pentru a efectua funcționalități similare. Aceste module alternative sunt prezentate mai jos:

Alternative Descriere
nod-fetch Este o promisiune sau un modul bazat pe flux care aduce o metodă window.fetch() în Node.js.
http http ” este modulul implicit furnizat de Node.js și oferă mai multe metode de a interacționa cu serverele http, oferind în același timp mai multă libertate.
axios Bazat exclusiv pe promisiuni și fluxuri de a efectua solicitări HTTP prin browser atât de la capătul serverului, cât și de la client.
a primit Este foarte prietenos cu oamenii și cea mai puternică bibliotecă pentru solicitări HTTP.
superagent Bazat pe înlănțuire și promisiuni, oferind în același timp suport pentru mulți clienți HTTP de nivel înalt. Are și o curbă de învățare scăzută.
îndoit Este un HTTP funcțional care returnează o funcție de tip asincron.
face-aduce-se-ntâmpla O formă îmbunătățită de „ nod-fetch ” modulul. Acum include „gruparea cererilor”, „suport pentru cache” și multe altele.
ac Acest modul este cel mai clar și mai avansat modul. Este folosit mai ales pentru a prelua date prin trimiterea de solicitări către surse terțe.
tiny-json-http Client HTTP minimalist utilizat pentru a efectua încărcările utile JSON.

Acum, să efectuăm solicitări HTTP prin utilizarea unor module discutate mai sus.

Metoda 1: Efectuarea solicitărilor HTTP utilizând modulul HTTP implicit

http ” este un modul implicit, deoarece este instalat automat în momentul inițializării proiectului node.js prin rularea comenzii ” npm init ” sau ” npm init -y ”. Deoarece am creat deja un proiect node.js, sărim peste pașii de inițializare demonstrați la începutul acestui articol și ne aruncăm direct în crearea de solicitări http folosind modulul „http”.

În fragmentul de cod de mai jos, serverul a fost creat și, ca răspuns, mesajul fals este trimis către server:

const httpObj = cere ( „http” ) ;

const localServer = httpObj. createServer ( ( cere raspuns ) => {

raspuns. scrie ( „Bine ați venit pe pagina de Twitter” ) ;

raspuns. Sfârşit ( ) ;

} ) ;

localServer. asculta ( 8080 , ( ) => {

consolă. Buturuga ( 'server a pornit la numărul portului 8080.' ) ;

} ) ;

În blocul de cod de mai sus:

  • În primul rând, „ http ” a fost importat în fișierul curent și obiectul său este stocat într-o nouă variabilă numită ” httpObj ”.
  • Apoi, serverul numit „ localServer ” este creat prin invocarea „ createServer() ” și trecerea funcției de apel invers ca parametru.
  • În cadrul acestei funcții, invocați un „ scrie() ” și atribuiți-i un mesaj fals care este afișat pe server. De asemenea, închideți sesiunea de răspuns invocând „ Sfârşit() ”, mesajul simulat aleatoriu poate fi introdus și în paranteza metodei.
  • După aceea, faceți ca acest server să se execute peste localhost având numărul de port „ 8080 ' prin invocarea ' asculta() ” metoda.

Executați fișierul care conține codul de mai sus executând comanda de mai jos:

nodul < nume de fișier. js >

Ieșirea generată confirmă faptul că solicitările HTTP au fost efectuate prin opțiunea implicită „ http ”modul:

Metoda 2: Efectuarea cererii HTTP utilizând modulul Axios extern

axios ” este modul cel mai popular și utilizat pe scară largă atunci când vine vorba de efectuarea solicitărilor HTTP într-un mediu în timp real. Pentru a utiliza acest modul, dezvoltatorul trebuie mai întâi să îl instaleze executând comanda de mai jos:

npm instalează axios

După executarea comenzii, terminalul apare astfel:

Acum, să aruncăm o privire peste un exemplu în care „ OBȚINE ” Solicitarea HTTP va fi folosită pentru a prelua datele dintr-un API aleator. Apoi, datele primite sunt afișate și pe consolă:

const axiosObj = cere ( 'axios' ) ;

// Adresa URL a API-ului JSON Placeholder Pentru a selecta doar o parte a datelor având un ID de 5

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

//Inițializarea cererii GET

axiosObj. obține ( apiUrl )

. apoi ( raspuns => {

consolă. Buturuga ( „Starea pentru răspunsul de la API este:” , raspuns. stare ) ;

consolă. Buturuga ( „Datele primite de la API ca răspuns la solicitare:” , raspuns. date ) ;

} )

. captură ( eroare => {

consolă. eroare ( „Eroarea a apărut:” , eroare ) ;

} ) ;

Explicația blocului de cod de mai sus este prezentată mai jos:

  • Mai întâi, importați „ axios ” și stocați instanța acesteia în variabila numită “ axiosObj ” care acționează ca obiect al bibliotecii „axios”.
  • Apoi, creați o variabilă „ apiUrl ” și stochează adresa URL a API-ului de la care trebuie să fie preluate datele. În cazul nostru, adresa URL este „ https://jsonplaceholder.typicode.com/todos/5 ” deoarece dorim să recuperăm date care au un ID de „ 5 ”.
  • Acum, cu ajutorul lui „ axiosObj ” invocă ” obține() ” și treceți „ appURL ” variabilă în cadrul acestei paranteze metode.
  • Atașați „ apoi() ” metoda cu “ obține() ” și creați o funcție săgeată anonimă care conține un singur parametru de „ raspuns ”.
  • Acest ' raspuns ” acționează ca un obiect care conține valorile sau datele returnate ca răspuns la cerere prin intermediul „ obține() ” metoda.
  • Cu ajutorul acestui „ raspuns ” obiect, regăsiți starea solicitării și conținutul prin atașarea „ stare ' și ' date ” cuvinte cheie alăturate.
  • În cele din urmă, atașați „ captură() ” metodă care afișează erori dacă au apărut în timpul execuției programului.

Acum, compilați codul de mai sus în mediul Node.js folosind comanda de mai jos pe terminal:

nodul < nume de fișier >

Ieșirea afișată arată că datele solicitate au fost preluate din sursa furnizată ca răspuns și afișate în fereastra consolei:

Acesta este totul despre efectuarea de solicitări HTTP cu modulul de solicitare Node.js și o prezentare rapidă a alternativelor sale.

Concluzie

Pentru a efectua o solicitare HTTP prin intermediul „ cerere ”, URL-ul necesar de unde urmează să fie efectuată preluarea. Apoi, instanța modulului „cerere” este creată și URL-ul selectat pentru care solicitarea HTTP trebuie implementată este transmisă ca prim parametru. Funcția de apel invers necesară este, de asemenea, utilizată pentru a verifica eventualele erori apărute și pentru a prelua conținutul sau răspunsul cererii HTTP. Acest ghid a explicat procesul de realizare a cererilor HTTP folosind modulul de solicitare.