Ovaj vodič objašnjava postupak postavljanja HTTP zahtjeva s Node.js modulom zahtjeva pokrivajući donje odjeljke:
Kako napraviti HTTP zahtjeve s Node.js modulom zahtjeva?
Alternative Node.js modula zahtjeva
- Metoda 1: Izrada HTTP zahtjeva pomoću zadanog HTTP modula
- Metoda 2: Izrada HTTP zahtjeva pomoću vanjskog Axios modula
Kako napraviti HTTP zahtjeve pomoću Node.js modula zahtjeva?
' zahtjev ” modul je najjednostavniji modul koji pomaže u slanju ili dohvaćanju HTTP zahtjeva. Ovaj modul je previše jednostavan i lak za razumijevanje, ali daje vrlo malo slobode programerima. Štoviše, razvojni programer ne može lako modificirati njegovu osnovnu funkcionalnost ili poboljšati ponuđene značajke.
Bilješka: Iako ' zahtjev ” je dobar modul. Međutim, njegovi tvorci odlučili su prestati raditi na ovom modulu i on je u potpunosti obustavljen 11. veljače 2020.
Međutim, ako još uvijek želite dobiti ideju o provedbi ovog ' zahtjev ” modul zatim slijedite dolje navedene korake.
Korak 1: Instaliranje modula “request” i pokretanje Node.js projekta
Započnite inicijalizacijom ' npm ” unutar željenog direktorija za stvaranje Node.js projekta pokretanjem naredbe:
npm init - iIzlaz pokazuje da je 'npm' uspješno inicijaliziran u navedenom direktoriju:
Zatim instalirajte potrebne ' zahtjev ” izvršavanjem naredbe:
npm instalacijski zahtjevIzlaz pokazuje da je instalacija dovršena, ali budući da je ovaj modul zastario, to je razlog zašto je 'npm' poslao upozorenje o zastarjelom:
Korak 2: Umetanje lažnog koda
Stvoriti ' .js ” upišite datoteku unutar direktorija Node.js projekta, to je datoteka u koju se programi umeću i kasnije izvršavaju. Zatim umetnite donje retke koda kako biste ilustrirali praktičnu implementaciju ' zahtjev ”, kao što je prikazano u nastavku:
konst reqObj = zahtijevati ( 'zahtjev' )neka baseUrl = 'https://jsonplaceholder.typicode.com/todos/6' ;
reqObj ( osnovniUrl, ( pitanja, sadržaj ) => {
ako ( pitanja ) konzola. log ( pitanja )
konzola. log ( sadržaj ) ;
} ) ;
Objašnjenje gornjeg bloka koda je sljedeće:
- Prvo, ' zahtjev ” modul je uvezen i njegov objekt je pohranjen u novoj varijabli pod nazivom “ reqObj ”.
- Zatim se URL neke mrežne JSON datoteke čiji sadržaj treba dohvatiti prosljeđuje kao vrijednost za ' osnovniUrl ” imenovana varijabla.
- Onda ' reqObj ' varijabla se poziva kao konstruktor, a ' osnovniUrl ” prosljeđuje se kao prvi parametar, a funkcija povratnog poziva kao drugi parametar.
- Unutar funkcije povratnog poziva, ' ako ” naredba se koristi za prikaz svih grešaka koje su se dogodile, a dohvaćeni podaci također se prikazuju preko prozora konzole.
Korak 3: Izvršenje
Da biste izvršili gornji kod, pokrenite datoteku koja sadrži ' proApp.js ” u našem slučaju pomoću naredbe:
čvor proApp. jsIzlaz nakon izvršenja pokazuje da su navedeni podaci dohvaćeni i prikazani na konzoli:
Alternative Node.js modula zahtjeva
Zbog zastarjevanja ' zahtjev ”, postoji mnogo novih vanjskih modula koji se mogu koristiti za izvođenje sličnih funkcija. Ovi alternativni moduli navedeni su u nastavku:
Alternative | Opis |
dohvaćanje čvora | To je modul temeljen na obećanju ili streamu koji donosi metodu window.fetch() u Node.js. |
http | ' http ” modul je zadani modul koji nudi Node.js i pruža nekoliko metoda za interakciju s http poslužiteljima uz pružanje više slobode. |
axios | Isključivo temeljeno na obećanjima i tokovima za izvođenje HTTP zahtjeva preko preglednika s poslužitelja i klijenta. |
dobio | Super je prilagođen ljudima i najmoćnija je biblioteka za HTTP zahtjeve. |
superagent | Utemeljeno na ulančavanju i obećanjima uz pružanje podrške za mnoge HTTP klijente visoke razine. Također ima nisku krivulju učenja. |
savijena | To je funkcionalni HTTP koji vraća funkciju asinkronog tipa. |
napraviti-dohvatiti-dogoditi se | Poboljšani oblik ' dohvaćanje čvora ” modul. Sada uključuje 'udruživanje zahtjeva', 'podršku za predmemoriju' i još mnogo toga. |
igla | Ovaj modul je najjasniji i najnapredniji modul. Uglavnom se koristi za dohvaćanje podataka slanjem zahtjeva izvorima trećih strana. |
maleni-json-http | Minimalistički HTTP klijent koji se koristi za izvođenje JSON sadržaja. |
Izvršimo sada HTTP zahtjeve korištenjem nekih modula o kojima smo govorili gore.
Metoda 1: Izrada HTTP zahtjeva pomoću zadanog HTTP modula
' http ” je zadani modul jer se automatski instalira u vrijeme pokretanja projekta node.js pokretanjem naredbe “ npm init ' ili ' npm init -y ”. Budući da smo već izradili projekt node.js, preskačemo korake inicijalizacije prikazane na početku ovog članka i uranjamo izravno u stvaranje http zahtjeva pomoću 'http' modula.
U donjem isječku koda, poslužitelj je kreiran i kao odgovor poslužitelju se šalje lažna poruka:
konst httpObj = zahtijevati ( 'http' ) ;konst lokalni poslužitelj = httpObj. createServer ( ( zahtjev, odgovor ) => {
odgovor. pisati ( 'Dobro došli na Twitter stranicu' ) ;
odgovor. kraj ( ) ;
} ) ;
lokalni poslužitelj. slušati ( 8080 , ( ) => {
konzola. log ( 'poslužitelj pokrenut na portu broj 8080.' ) ;
} ) ;
U gornjem bloku koda:
- Prvo, ' http ” modul je uvezen unutar trenutne datoteke i njegov objekt je pohranjen u novoj varijabli pod nazivom “ httpObj ”.
- Zatim, poslužitelj pod nazivom ' lokalni poslužitelj ' se stvara pozivanjem ' kreiraj poslužitelj() ” metoda i prosljeđivanje funkcije povratnog poziva kao njenog parametra.
- Unutar ove funkcije pozovite ' pisati() ” i dodijelite mu lažnu poruku koja se prikazuje na poslužitelju. Također, zatvorite sesiju odgovora pozivanjem ' kraj() ”, nasumična lažna poruka također se može umetnuti unutar zagrade metode.
- Nakon toga, izvršite ovaj poslužitelj preko lokalnog hosta koji ima broj porta ' 8080 ” pozivanjem na “ slušati() ” metoda.
Izvršite datoteku koja sadrži gornji kod tako što ćete pokrenuti naredbu u nastavku:
čvor < naziv datoteke. js >Generirani izlaz potvrđuje da su HTTP zahtjevi izvršeni putem zadanog ' http ” modul:
Metoda 2: Izrada HTTP zahtjeva pomoću vanjskog Axios modula
' axios ” najpopularniji je i najčešće korišten modul kada je riječ o izvršavanju HTTP zahtjeva u okruženju u stvarnom vremenu. Da bi koristio ovaj modul, programer ga prvo mora instalirati izvršavanjem naredbe u nastavku:
npm instalirati axiosNakon izvršenja naredbe, terminal izgleda ovako:
Sada, pogledajmo primjer u kojem je ' DOBITI ” HTTP zahtjev će se koristiti za dohvaćanje podataka iz nasumičnog API-ja. Zatim se primljeni podaci prikazuju i preko konzole:
konst axiosObj = zahtijevati ( 'axios' ) ;// URL API-ja JSON rezerviranog mjesta za odabir samo dijela podataka koji imaju ID 5
konst apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;
//Inicijalizacija GET zahtjeva
axiosObj. dobiti ( apiUrl )
. zatim ( odgovor => {
konzola. log ( 'Status za API odgovor je:' , odgovor. status ) ;
konzola. log ( 'Podaci primljeni od API-ja kao odgovor na zahtjev:' , odgovor. podaci ) ;
} )
. ulov ( greška => {
konzola. greška ( 'Došlo je do pogreške:' , pogreška ) ;
} ) ;
Objašnjenje gornjeg bloka koda navedeno je u nastavku:
- Prvo uvezite ' axios ” biblioteku i pohranite njezinu instancu u varijablu pod nazivom „ axiosObj ” koji djeluje kao objekt biblioteke “axios”.
- Zatim stvorite varijablu ' apiUrl ” i pohranjuju URL API-ja s kojeg se podaci trebaju dohvatiti. U našem slučaju, URL je ' https://jsonplaceholder.typicode.com/todos/5 ' jer želimo dohvatiti podatke koji imaju ID ' 5 ”.
- Sada, uz pomoć ' axiosObj ' pozvati ' dobiti() ' metodu i proslijedite ' appURL ” varijabla unutar ove zagrade metode.
- Priložite ' zatim() ' metoda s ' dobiti() ' i izradite anonimnu funkciju strelice koja sadrži jedan parametar ' odgovor ”.
- ovo ' odgovor ' djeluje kao objekt koji sadrži vrijednosti ili podatke vraćene kao odgovor na zahtjev putem ' dobiti() ” metoda.
- Uz pomoć ovog “ odgovor ', dohvatite status zahtjeva i sadržaja prilaganjem ' status ' i ' podaci ” ključne riječi pored njega.
- Na kraju priložite ' ulov() ” metoda koja prikazuje pogreške ako su se pojavile tijekom izvođenja programa.
Sada kompajlirajte gornji kod u okruženju Node.js koristeći donju naredbu na terminalu:
čvor < naziv datoteke >Prikazani izlaz pokazuje da su traženi podaci dohvaćeni iz navedenog izvora kao odgovor i prikazani preko prozora konzole:
To je sve o izradi HTTP zahtjeva s Node.js Request Module i brzim pregledom njegovih alternativa.
Zaključak
Za upućivanje HTTP zahtjeva putem ' zahtjev ”, potreban URL s kojeg će se izvršiti dohvaćanje. Zatim se kreira instanca modula “zahtjev”, a odabrani URL za koji je potrebno implementirati HTTP zahtjev prosljeđuje se kao prvi parametar. Potrebna funkcija povratnog poziva također se koristi za provjeru eventualnih pogrešaka i dohvaćanje sadržaja ili odgovora HTTP zahtjeva. Ovaj vodič objasnio je postupak izrade HTTP zahtjeva pomoću modula zahtjeva.