Paga en 4 cuotas sin intereses de $52.25

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17d

12h

26m

27s

1

Realizar peticiones de Url a una Api y mostrarlas en una interfaz

Primero importamos las dependencias a utilizar:

npm install express axios path

Una vez establecemos un puerto para el servidor, hacemos la petición.
Necesitaremos una función async await:

asyncfunctiongetRandomUnsplashBackground() {

}

Donde, usaremos un try catch para manejar la respuesta.
Pegamos la url y establecemos los parametros necesarios.
En este caso usaremos Unsplash

try {
    const response = await axios.get('https://api.unsplash.com/photos/random', {
      params: {
        query: 'turism', // Coincidencia a buscarorientation: 'landscape',  // Tipo de imagenclient_id: 'YOUR_ACCESS_KEY'// Tu key de acceso
      }
    })
  } catch (error) {

  }

Manejamos los errores:

try {
    ...
    if (!response) throwError
    const imageUrl = response.data.urls.full
    return imageUrl
  } catch (error) {
    console.log(error)
  }

Además de recibir datos en un json, vamos a mostrarlos, es por eso que, crearemos una carpeta public, con un archivo index.html.
Usaremos path, para que nos permita navegar por estos archivos.

app.use(express.static(path.join(__dirname, 'public'))) // Carpeta public

En el archivo index.html, crearemos una interfaz en donde mostraremos la imagen y un botón para hacer la petición:


<htmllang="en">
<head>
    <metacharset="UTF-8">
    <metaname="viewport"content="width=device-width, initial-scale=1.0">
    <title>Imagen Aleatoriatitle>
    <linkrel="stylesheet"href="style.css">
head>
<body><h1>Imagen Aleatoriah1>
  <divclass="img-container">
    <imgid="random-image"src=""alt="Imagen Aleatoria">
  div>
  <buttononclick="loadRandomImage()">Cargar Imagen Aleatoriabutton>
  <scriptsrc="script.js">script>
body>
html>

Ya tenemos la interfaz lista. Sin embargo, necesitamos una función que se ejecute en cada petición:

Primero creamos las constantes

const idImage = document.getElementById('random-image')

En nuestra función, queremos hacer una petición GET a la dirección /img-gen

functionloadRandomImage(){

}

Por eso, usamos fetch y le damos la dirección, una vez recibida se transforma a json

  fetch('/img-gen')
    .then(response => response.json())

Acedemos al objeto y lo asignamos a nuestra constante

    ...
    .then(data => {
        idImage.src = data.imageUrl
    })
    .catch(error => console.log(error))

finalmente, ejecutamos la pagina e ingresamos al puerto:

npm run dev

Este seria nuestro resultado 😁

image de pagina
Escribe tu comentario
+ 2