Mediante la dirección web:
https://randomuser.me/api/
Se nos retorna un objeto JSON con la información de un usuario.
Recuperar mediante el API fetch los datos y mostrar el primer y segundo nombre.
La estructura del archivo JSON es:
{
"results": [
{
"gender": "male",
"name": {
"title": "mr",
"first": "brad",
"last": "gibson"
},
"location": {
"street": "9278 new road",
"city": "kilcoole",
"state": "waterford",
"postcode": "93027",
"coordinates": {
"latitude": "20.9267",
"longitude": "-7.9310"
},
"timezone": {
"offset": "-3:30",
"description": "Newfoundland"
}
},
"email": "brad.gibson@example.com",
"login": {
"uuid": "155e77ee-ba6d-486f-95ce-0e0c0fb4b919",
"username": "silverswan131",
"password": "firewall",
"salt": "TQA1Gz7x",
"md5": "dc523cb313b63dfe5be2140b0c05b3bc",
"sha1": "7a4aa07d1bedcc6bcf4b7f8856643492c191540d",
"sha256": "74364e96174afa7d17ee52dd2c9c7a4651fe1254f471a78bda0190135dcd3480"
},
"dob": {
"date": "1993-07-20T09:44:18.674Z",
"age": 26
},
"registered": {
"date": "2002-05-21T10:59:49.966Z",
"age": 17
},
"phone": "011-962-7516",
"cell": "081-454-0666",
"id": {
"name": "PPS",
"value": "0390511T"
},
"picture": {
"large": "https://randomuser.me/api/portraits/men/75.jpg",
"medium": "https://randomuser.me/api/portraits/med/men/75.jpg",
"thumbnail": "https://randomuser.me/api/portraits/thumb/men/75.jpg"
},
"nat": "IE"
}
],
"info": {
"seed": "fea8be3e64777240",
"results": 1,
"page": 1,
"version": "1.3"
}
}
Luego según el valor que almacena la propiedad "gender" que puede ser "male" o "female" proceder a recuperar nuevamente con el API fetch una imagen llamada 'hombre.png' o 'mujer.png', pero que se encuentra en nuestro servidor.
Mostrar entonces en la pagina el primer nombre, segundo nombre y la imagen respectiva. Hacer esto inmediatamente se carga la página web.
Tener en cuenta que dentro del método 'then' podemos hacer la llamada nuevamente al método 'fetch'.
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>
<p><strong>Nombre:</strong><span id="nombre"></span></p>
<img id="foto">
</div>
<script>
fetch('https://randomuser.me/api/')
.then(response => response.json())
.then((datos) => {
document.getElementById("nombre").innerText = datos.results[0].name.first
+ ', ' + datos.results[0].name.last;
let imagen;
if (datos.results[0].gender == "female")
imagen = "mujer.png";
else
imagen = "hombre.png";
fetch(imagen)
.then(response => response.blob())
.then(datos => document.getElementById("foto").setAttribute('src', URL.createObjectURL(datos)));
})
</script>
</body>
</html>