Com fer sol·licituds HTTP amb el mòdul de sol·licitud Node.js?

Com Fer Sol Licituds Http Amb El Modul De Sol Licitud Node Js



Les sol·licituds HTTP són la part més important i integral de qualsevol aplicació interactiva, aquestes peticions gestionen la transferència de dades entre el client i el servidor. Si l'usuari requereix dades sobre la consulta específica, enviarà una sol·licitud i des del servidor s'enviarà la resposta d'aquesta sol·licitud que conté les dades requerides. Tot aquest procediment depèn o utilitza el ' HTTP ' sol·licituds que es poden crear mitjançant mòduls externs com ' petició ”.

Aquesta guia explica el procediment per fer sol·licituds HTTP amb el mòdul de sol·licitud Node.js cobrint les seccions següents:

Com fer sol·licituds HTTP amb el mòdul de sol·licitud Node.js?







Alternatives del mòdul de sol·licitud Node.js



Conclusió



Com fer sol·licituds HTTP mitjançant el mòdul de sol·licitud Node.js?

El ' petició ” és el mòdul més senzill que ajuda a enviar o recuperar sol·licituds HTTP. Aquest mòdul és massa senzill i fàcil d'entendre, però ofereix molt poca llibertat als desenvolupadors. A més, el desenvolupador no pot modificar fàcilment la seva funcionalitat bàsica ni millorar les seves característiques proporcionades.





Nota: Tot i que el ' petició ” és un bon mòdul. Tanmateix, els seus creadors van decidir deixar de treballar en aquest mòdul i va quedar totalment obsolet l'11 de febrer de 2020.

Tanmateix, si encara voleu tenir una idea sobre la implementació d'aquest ' petició ” després visiteu els passos esmentats a continuació.



Pas 1: instal·lar el mòdul 'demanar' i inicialitzar el projecte Node.js

Comenceu inicialitzant el ' npm ” paquets dins del directori desitjat per crear un projecte Node.js executant l'ordre:

npm init - i

La sortida mostra que el 'npm' s'ha inicialitzat correctament al directori proporcionat:

A continuació, instal·leu el ' petició ” mòdul executant l'ordre:

sol·licitud d'instal·lació npm

La sortida mostra que la instal·lació s'ha completat, però com que aquest mòdul està obsolet, és per això que el 'npm' ha enviat l'avís obsolet:

Pas 2: inserció del codi simulat

Crea un ' .js ” escriviu fitxer dins del directori del projecte Node.js, és el fitxer en què els programes s'insereixen i s'executen més endavant. A continuació, inseriu les línies de codi següents per il·lustrar la implementació pràctica del ' petició ”, tal com es mostra a continuació:

const reqObj = requereixen ( 'sol·licitud' )

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

reqObj ( baseUrl, ( temes, contingut ) => {

si ( qüestions ) consola. registre ( qüestions )

consola. registre ( contingut ) ;

} ) ;

L'explicació del bloc de codi anterior és la següent:

  • En primer lloc, el ' petició ” s'ha importat i el seu objecte s'emmagatzema en una nova variable anomenada “ reqObj ”.
  • A continuació, l'URL d'algun fitxer JSON en línia el contingut del qual s'ha de recuperar es passa com a valor per a ' baseUrl ” variable anomenada.
  • Aleshores el ' reqObj ' s'invoca com a constructor i la variable ' baseUrl ” es passa com a primer paràmetre i la funció de devolució de trucada com a segon paràmetre.
  • Dins de la funció de devolució de trucada, el ' si ” s'utilitza per mostrar els errors produïts i les dades recuperades també es mostren a la finestra de la consola.

Pas 3: Execució

Per executar el codi anterior, executeu el fitxer que conté el nom ' proApp.js ” en el nostre cas utilitzant l'ordre:

node proApp. js

La sortida després de l'execució mostra que les dades especificades s'han recuperat i mostrat a la consola:

Alternatives del mòdul de sol·licitud Node.js

A causa de la depreciació de la ' petició ”, hi ha molts mòduls externs nous que es poden utilitzar per realitzar una funcionalitat similar. Aquests mòduls alternatius s'indiquen a continuació:

Alternatives Descripció
recuperació de nodes És un mòdul basat en promeses o fluxos que aporta un mètode window.fetch() a Node.js.
http El ' http ” és el mòdul predeterminat proporcionat per Node.js i proporciona diversos mètodes per interactuar amb servidors http alhora que ofereix més llibertat.
axios Basat exclusivament en promeses i fluxos per realitzar peticions HTTP al navegador tant des del servidor com del client.
obtingut És molt amigable amb els humans i la biblioteca més potent per a sol·licituds HTTP.
superagent Basat en encadenaments i promeses alhora que ofereix suport per a molts clients HTTP d'alt nivell. També té una corba d'aprenentatge baixa.
doblegat És un HTTP funcional que retorna una funció de tipus asíncrona.
fer-fer-succeir Una forma millorada de ' recuperació de nodes ” mòdul. Ara inclou 'agrupació de sol·licituds', 'suport de memòria cau' i moltes més coses també.
agulla Aquest mòdul és el mòdul més clar i avançat. S'utilitza principalment per recuperar dades enviant sol·licituds a fonts de tercers.
tiny-json-http Client HTTP minimalista utilitzat per realitzar les càrregues útils JSON.

Ara, realitzem sol·licituds HTTP mitjançant la utilització d'alguns mòduls comentats anteriorment.

Mètode 1: fer sol·licituds HTTP mitjançant el mòdul HTTP predeterminat

El ' http ' és un mòdul predeterminat, ja que s'instal·la automàticament en el moment d'iniciar el projecte node.js executant l'ordre ' npm init ' o ' npm init -y ”. Com que ja hem creat un projecte node.js, saltem els passos d'inicialització demostrats a l'inici d'aquest article i ens submergim directament en la creació de sol·licituds http mitjançant el mòdul 'http'.

Al fragment de codi següent, s'ha creat el servidor i, com a resposta, s'envia el missatge fictici al servidor:

const httpObj = requereixen ( 'http' ) ;

const localServer = httpObj. createServer ( ( petició, resposta ) => {

resposta. escriure ( 'Benvingut a la pàgina de Twitter' ) ;

resposta. final ( ) ;

} ) ;

localServer. escolta ( 8080 , ( ) => {

consola. registre ( 'El servidor va començar al port número 8080'. ) ;

} ) ;

Al bloc de codi anterior:

  • En primer lloc, el ' http ” s'ha importat dins del fitxer actual i el seu objecte s'emmagatzema en una nova variable anomenada “ httpObj ”.
  • A continuació, el servidor anomenat ' localServer ' es crea invocant el ' createServer() ” i passant la funció de devolució de trucada com a paràmetre.
  • Dins d'aquesta funció, invoqueu un ' escriure () ” i assigneu-li un missatge fictici que es mostra al servidor. A més, tanqueu la sessió de resposta invocant el ' final() ” missatge, el missatge fictici aleatori també es pot inserir dins del parèntesi del mètode.
  • Després d'això, feu que aquest servidor s'executi sobre l'host local amb el número de port ' 8080 ' invocant el ' escolta () ” mètode.

Executeu el codi anterior que conté el fitxer executant l'ordre següent:

node < nom de l'arxiu. js >

La sortida generada confirma que les sol·licituds HTTP s'han realitzat per defecte ' http ” mòdul:

Mètode 2: fer una sol·licitud HTTP mitjançant un mòdul Axios extern

El ' axios ” és el mòdul més popular i àmpliament utilitzat quan es tracta de realitzar peticions HTTP en un entorn en temps real. Per utilitzar aquest mòdul, el desenvolupador primer l'ha d'instal·lar executant l'ordre següent:

npm instal·la axios

Després d'executar l'ordre, el terminal apareix així:

Ara, fem una ullada a un exemple en què el ' ACONSEGUIR La sol·licitud HTTP s'utilitzarà per recuperar les dades d'una API aleatòria. A continuació, les dades rebudes també es mostren a la consola:

const axiosObj = requereixen ( 'axios' ) ;

// URL de l'API de marcador de posició JSON Per seleccionar només una part de les dades amb un ID de 5

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

//Inicialització de la sol·licitud GET

axiosObj. aconseguir ( apiUrl )

. aleshores ( resposta => {

consola. registre ( 'L'estat de la resposta de l'API és:' , resposta. estat ) ;

consola. registre ( 'Les dades rebudes de l'API com a resposta a la sol·licitud:' , resposta. dades ) ;

} )

. agafar ( error => {

consola. error ( 'L'error s'ha produït:' , error ) ;

} ) ;

A continuació s'explica l'explicació del bloc de codi anterior:

  • Primer, importeu el ' axios ” i emmagatzemar la seva instància a la variable anomenada “ axiosObj ” que actua com a objecte de la biblioteca “axios”.
  • A continuació, creeu una variable ' apiUrl ” i emmagatzema l'URL de l'API de la qual cal recuperar les dades. En el nostre cas, l'URL és ' https://jsonplaceholder.typicode.com/todos/5 ” perquè volem recuperar dades que tinguin un ID de “ 5 ”.
  • Ara, amb l'ajuda de ' axiosObj 'invocar el' aconseguir() ” mètode i passar el “ appURL ” variable dins del parèntesi d'aquest mètode.
  • Adjunteu el ' llavors () ' mètode amb el ' aconseguir() ” i creeu una funció de fletxa anònima que contingui un únic paràmetre de “ resposta ”.
  • Aquest ' resposta ' actua com un objecte que conté els valors o dades retornats en resposta a la sol·licitud mitjançant el ' aconseguir() ” mètode.
  • Amb l'ajuda d'aquest ' resposta ', recupera l'estat de la sol·licitud i el contingut adjuntant el ' estat ' i ' dades ” paraules clau al costat.
  • Finalment, adjunteu el ' atrapar() ” mètode que mostra errors si s'han produït durant l'execució del programa.

Ara, compileu el codi anterior a l'entorn Node.js mitjançant l'ordre següent al terminal:

node < nom de l'arxiu >

La sortida que es mostra mostra que les dades sol·licitades s'han recuperat de la font proporcionada com a resposta i s'han mostrat a la finestra de la consola:

Es tracta de fer sol·licituds HTTP amb el mòdul de sol·licitud Node.js i una visió general ràpida de les seves alternatives.

Conclusió

Per fer una sol·licitud HTTP mitjançant el ' petició ”, l'URL requerit des d'on es realitzarà l'obtenció. Aleshores, es crea la instància del mòdul 'sol·licitud' i l'URL seleccionat per al qual s'ha d'implementar la sol·licitud HTTP es passa com a primer paràmetre. La funció de devolució de trucada necessària també s'utilitza per comprovar si hi ha errors i recuperar el contingut o la resposta de la sol·licitud HTTP. Aquesta guia ha explicat el procés de fer sol·licituds HTTP mitjançant el mòdul de sol·licituds.