Kaip pateikti HTTP užklausas naudojant Node.js užklausų modulį?

Kaip Pateikti Http Uzklausas Naudojant Node Js Uzklausu Moduli



HTTP užklausos yra svarbiausia ir neatskiriama bet kurios interaktyvios programos dalis, šios užklausos tvarko duomenų perdavimą tarp kliento ir serverio pusės. Jei vartotojas reikalauja duomenų apie konkrečią užklausą, jis išsiųs užklausą, o atsakymas į šią užklausą su reikiamais duomenimis bus išsiųstas iš serverio. Visa ši procedūra priklauso nuo arba naudoja „ HTTP “ užklausos, kurias galima sukurti naudojant išorinius modulius, pvz. prašymas “.

Šiame vadove paaiškinama HTTP užklausų teikimo naudojant Node.js užklausų modulį procedūra, apimant šiuos skyrius:

Kaip pateikti HTTP užklausas naudojant Node.js užklausų modulį?







Node.js užklausų modulio alternatyvos



Išvada



Kaip pateikti HTTP užklausas naudojant Node.js užklausų modulį?

prašymas “ modulis yra pats paprasčiausias modulis, padedantis siųsti arba gauti HTTP užklausas. Šis modulis yra per paprastas ir lengvai suprantamas, tačiau kūrėjams suteikia labai mažai laisvės. Be to, kūrėjas negali lengvai pakeisti savo pagrindinių funkcijų ar patobulinti teikiamų funkcijų.





Pastaba: Nors ' prašymas “ yra geras modulis. Tačiau jo kūrėjai nusprendė nebedirbti su šiuo moduliu, o 2020 m. vasario 11 d. jis visiškai nebenaudojamas.

Tačiau, jei vis tiek norite sužinoti apie šios programos įgyvendinimą prašymas “ modulį, tada atlikite toliau nurodytus veiksmus.



1 veiksmas: „užklausos“ modulio įdiegimas ir Node.js projekto inicijavimas

Pradėkite inicijuodami „ npm “ paketus norimame kataloge, kad sukurtumėte Node.js projektą paleisdami komandą:

npm init - ir

Išvestis rodo, kad „npm“ buvo sėkmingai inicijuotas pateiktame kataloge:

Tada įdiekite reikiamą ' prašymas “ modulį, vykdydami komandą:

npm diegimo užklausa

Išvestis rodo, kad diegimas buvo baigtas, bet kadangi šis modulis yra pasenęs, todėl „npm“ atsiuntė pasenusio įspėjimo:

2 veiksmas: fiktyvaus kodo įterpimas

Sukurti ' .js ” tipo failą Node.js projekto kataloge, tai failas, į kurį vėliau įterpiamos ir vykdomos programos. Tada įterpkite toliau pateiktas kodo eilutes, kad parodytumėte praktinį „ prašymas “ modulis, kaip parodyta žemiau:

konst reqObj = reikalauti ( 'prašymas' )

tegul baseUrl = „https://jsonplaceholder.typicode.com/todos/6“ ;

reqObj ( bazinis URL, ( klausimai, turinys ) => {

jeigu ( Problemos ) konsolė. žurnalas ( Problemos )

konsolė. žurnalas ( turinys ) ;

} ) ;

Aukščiau pateikto kodo bloko paaiškinimas yra toks:

  • Pirma, „ prašymas ' modulis buvo importuotas ir jo objektas yra saugomas naujame kintamajame pavadinimu ' reqObj “.
  • Tada kai kurių internetinių JSON failų, kurių turinį reikia nuskaityti, URL perduodamas kaip „ baseUrl “ pavadintas kintamasis.
  • Tada ' reqObj ' kintamasis iškviečiamas kaip konstruktorius, o ' baseUrl “ perduodamas kaip pirmasis parametras, o atgalinio skambinimo funkcija – kaip antrasis parametras.
  • Atskambinimo funkcijos viduje yra „ jeigu “ teiginys naudojamas visoms įvykusioms klaidoms rodyti, o gauti duomenys taip pat rodomi konsolės lange.

3 žingsnis: vykdymas

Norėdami vykdyti aukščiau pateiktą kodą, paleiskite failą, kuriame yra ' proApp.js “, mūsų atveju naudojant komandą:

mazgas proApp. js

Išvestis po vykdymo rodo, kad nurodyti duomenys buvo gauti ir rodomi konsolėje:

Node.js užklausų modulio alternatyvos

Dėl nusidėvėjimo „ prašymas “ modulis, yra daug naujų išorinių modulių, kurie gali būti naudojami panašioms funkcijoms atlikti. Šie alternatyvūs moduliai nurodyti žemiau:

Alternatyvos apibūdinimas
mazgo gavimas Tai pažadu arba srautu pagrįstas modulis, kuris į Node.js atneša window.fetch() metodą.
http http ” modulis yra numatytasis modulis, kurį teikia Node.js, ir jame pateikiami keli būdai sąveikauti su http serveriais ir suteikiama daugiau laisvės.
aksios Grynai pagrįsta pažadais ir srautais atlikti HTTP užklausas per naršyklę tiek iš serverio, tiek iš kliento pusės.
gavo Tai itin patogi žmogui ir pati galingiausia HTTP užklausų biblioteka.
superagentas Remiantis grandinėmis ir pažadais, kartu teikiant palaikymą daugeliui aukšto lygio HTTP klientų. Jis taip pat turi žemą mokymosi kreivę.
sulenktas Tai funkcinis HTTP, kuris grąžina asinchroninio tipo funkciją.
padaryti-atnešti-įvykti Patobulinta forma mazgo gavimas “ modulis. Dabar tai apima „užklausų telkimą“, „talpyklos palaikymą“ ir daug daugiau.
adata Šis modulis yra aiškiausias ir labiausiai į priekį nukreiptas modulis. Jis dažniausiai naudojamas duomenims gauti siunčiant užklausas trečiųjų šalių šaltiniams.
tiny-json-http Minimalistinis HTTP klientas, naudojamas JSON apkrovoms atlikti.

Dabar atlikime HTTP užklausas naudodamiesi kai kuriais aukščiau aptartais moduliais.

1 būdas: HTTP užklausų teikimas naudojant numatytąjį HTTP modulį

http “ yra numatytasis modulis, nes jis automatiškai įdiegiamas inicijuojant node.js projektą vykdant komandą „ npm init “ arba „ npm init -y “. Kadangi jau sukūrėme projektą node.js, praleidžiame inicijavimo veiksmus, parodytus šio straipsnio pradžioje, ir neriame tiesiai į http užklausų kūrimą naudojant „http“ modulį.

Žemiau pateiktame kodo fragmente serveris buvo sukurtas ir kaip atsakas į serverį siunčiamas netikras pranešimas:

konst httpObj = reikalauti ( 'http' ) ;

konst vietinis serveris = httpObj. sukurti serverį ( ( prašymas, atsakymas ) => {

atsakymą. rašyti ( „Sveiki atvykę į Twitter puslapį“ ) ;

atsakymą. galas ( ) ;

} ) ;

vietinis serveris. klausyk ( 8080 , ( ) => {

konsolė. žurnalas ( 'serveris paleistas prievado numeriu 8080.' ) ;

} ) ;

Aukščiau pateiktame kodo bloke:

  • Pirma, „ http ' modulis buvo importuotas į dabartinį failą ir jo objektas yra saugomas naujame kintamajame pavadinimu ' httpObj “.
  • Tada serveris pavadintas „ vietinis serveris “ yra sukurtas naudojant „ CreateServer() “ metodą ir kaip jo parametrą perduoti atgalinio skambinimo funkciją.
  • Šioje funkcijoje iškvieskite „ rašyti () “ metodą ir priskirkite jam netikrą pranešimą, kuris bus rodomas serveryje. Taip pat uždarykite atsakymo seansą iškviesdami „ galas() “, atsitiktinis netikras pranešimas taip pat gali būti įterptas metodo skliausteliuose.
  • Po to nustatykite, kad šis serveris veiktų per vietinį pagrindinį kompiuterį, kurio prievado numeris yra ' 8080 “, pasinaudojant „ klausyk () “ metodas.

Vykdykite aukščiau pateiktą kodą, kuriame yra failas, vykdydami toliau pateiktą komandą:

mazgas < failo pavadinimas. js >

Sugeneruota išvestis patvirtina, kad HTTP užklausos buvo įvykdytos naudojant numatytąjį ' http “ modulis:

2 būdas: HTTP užklausos pateikimas naudojant išorinį „Axios“ modulį

aksios “ yra populiariausias ir plačiausiai naudojamas modulis, kai reikia atlikti HTTP užklausas realiuoju laiku. Norėdami naudoti šį modulį, kūrėjas pirmiausia turi jį įdiegti vykdydamas toliau pateiktą komandą:

npm įdiegti axios

Įvykdžius komandą, terminalas atrodo taip:

Dabar pažvelkime į pavyzdį, kuriame „ GAUTI HTTP užklausa bus naudojama norint gauti duomenis iš atsitiktinės API. Tada gauti duomenys taip pat rodomi konsolėje:

konst axiosObj = reikalauti ( 'aksios' ) ;

// JSON rezervuotos vietos API URL Norėdami pasirinkti tik dalį duomenų, kurių ID yra 5

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

//GET užklausos inicijavimas

axiosObj. gauti ( apiUrl )

. tada ( atsakymą => {

konsolė. žurnalas ( „API atsakymo būsena yra:“ , atsakymas. statusą ) ;

konsolė. žurnalas ( „Duomenys, gauti iš API kaip atsakas į užklausą:“ , atsakymas. duomenis ) ;

} )

. sugauti ( klaida => {

konsolė. klaida ( „Įvyko klaida:“ , klaida ) ;

} ) ;

Aukščiau pateikto kodo bloko paaiškinimas pateikiamas toliau:

  • Pirmiausia importuokite „ aksios “ biblioteką ir išsaugokite jos egzempliorių kintamajame pavadinimu „ axiosObj “, kuri veikia kaip „axios“ bibliotekos objektas.
  • Tada sukurkite kintamąjį ' apiUrl “ ir išsaugokite API, iš kurios reikia gauti duomenis, URL. Mūsų atveju URL yra ' https://jsonplaceholder.typicode.com/todos/5 “, nes norime gauti duomenis, kurių ID yra „ 5 “.
  • Dabar, padedant „ axiosObj “ iškviesti “ gauti () “ metodą ir pereikite „ appURL “ kintamasis šio metodo skliausteliuose.
  • Pridėkite ' tada () “ metodas su „ gauti () “ metodą ir sukurkite anoniminę rodyklės funkciją, kurioje yra vienas parametras „ atsakymą “.
  • Šis ' atsakymą “ veikia kaip objektas, kuriame yra reikšmės arba duomenys, grąžinti atsakant į užklausą per „ gauti () “ metodas.
  • Su šia pagalba ' atsakymą “ objektą, nuskaitykite užklausos būseną ir turinį pridėdami „ statusą “ ir „ duomenis “ šalia jo esantys raktiniai žodžiai.
  • Galiausiai pridėkite „ sugauti () “ metodas, rodantis klaidas, jei tokių įvyko vykdant programą.

Dabar sukompiliuokite aukščiau pateiktą kodą Node.js aplinkoje naudodami toliau pateiktą komandą terminale:

mazgas < failo pavadinimas >

Rodoma išvestis rodo, kad prašomi duomenys buvo gauti iš pateikto šaltinio kaip atsakymas ir rodomi konsolės lange:

Tai viskas apie HTTP užklausų teikimą naudojant Node.js užklausų modulį ir greitą jo alternatyvų apžvalgą.

Išvada

Norėdami pateikti HTTP užklausą naudodami „ prašymas “ modulis, reikalingas URL, iš kurio bus atliktas gavimas. Tada sukuriamas „užklausos“ modulio egzempliorius, o pasirinktas URL, kuriam reikia įgyvendinti HTTP užklausą, perduodamas kaip pirmasis parametras. Reikalinga atgalinio skambinimo funkcija taip pat naudojama norint patikrinti, ar nėra klaidų, ir gauti HTTP užklausos turinį arba atsakymą. Šiame vadove paaiškintas HTTP užklausų teikimo procesas naudojant užklausų modulį.