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
- Mètode 1: fer sol·licituds HTTP mitjançant el mòdul HTTP predeterminat
- Mètode 2: fer una sol·licitud HTTP mitjançant un mòdul Axios extern
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 - iLa 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ó npmLa 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. jsLa 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 axiosDespré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.