0% encontró este documento útil (0 votos)
135 vistas35 páginas

Laboratorio PDF (API)

Este documento describe un laboratorio para explorar las API REST con un simulador de API y Postman. Los estudiantes aprenderán a usar el simulador de API de una biblioteca escolar para realizar llamadas como enumerar, agregar y eliminar libros. Luego usarán Postman para realizar las mismas llamadas a la API. El documento guía a los estudiantes a través de varios pasos como explorar la documentación de la API, probar llamadas con el simulador, y obtener un token de autenticación para usar con llamadas protegidas.

Cargado por

Anahy Sánchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
135 vistas35 páginas

Laboratorio PDF (API)

Este documento describe un laboratorio para explorar las API REST con un simulador de API y Postman. Los estudiantes aprenderán a usar el simulador de API de una biblioteca escolar para realizar llamadas como enumerar, agregar y eliminar libros. Luego usarán Postman para realizar las mismas llamadas a la API. El documento guía a los estudiantes a través de varios pasos como explorar la documentación de la API, probar llamadas con el simulador, y obtener un token de autenticación para usar con llamadas protegidas.

Cargado por

Anahy Sánchez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

Unidad Académica de Tics

Carrera de Ingeniería de Sistemas de Información


Unidad Académica de Tics
Carrera de Ingeniería de SI
ASIGNATURA: Redes
ESTUDIANTE; Juan Pablo Andrango
Tema:
Laboratorio: explore las API de Rest con API Simulator y Postman
Objetivos
Parte 1: Inicie la máquina virtual DEVASC

Parte 2: Explorar la documentación de la API mediante el simulador de API


Parte 3: Usar Postman para hacer llamadas a la API al simulador de API
Parte 4: Usar Python para agregar 100 libros al simulador de API

Antecedentes / Escenario
La máquina virtual DEVASC incluye un simulador de API de biblioteca escolar con documentación de API y
una base de datos asociada. Puede usar el simulador sin conexión para explorar las API y probar su
funcionalidad.
En este laboratorio, aprenderá a usar el simulador de API de la biblioteca escolar para realizar llamadas a la
API para enumerar, agregar y eliminar libros. Más tarde, usará Postman para realizar estas mismas llamadas
a la API.

Recursos requeridos
• 1 PC con sistema operativo de su elección
• Virtual Box o VMWare
• Máquina virtual DEVASC
Laboratorio: explore las API de Rest con API Simulator y Postman

Instrucciones

Part 1: Inicie la máquina virtual DEVASC

Part 2: Explore la documentación de la API con el simulador de API


Para comprender cómo realizar llamadas a una API de REST, los desarrolladores suelen comenzar
estudiando la documentación de la API. El formato de las solicitudes, respuestas, encabezados y parámetros
para las API de REST se documentan normalmente mediante la especificación OpenAPI (anteriormente
Especificación Swagger).

Step 1: Abra el navegador web Chromium.


Haga doble clic en el icono de Chromium Web Browser en el escritorio.

Step 2: Conéctese al sitio web de la biblioteca escolar.


Si el navegador no abre automáticamente el sitio web de la Biblioteca Escolar, en la barra de direcciones
escriba: library.demo.local y presione retorno para ir allí.

Step 3: Vaya a la página de documentos de la API.


a. El sitio web tiene como valor predeterminado la pestaña Nuestros libros y muestra una lista de libros.
En la esquina superior derecha donde dice, Haga clic aquí para ver los documentos de la API,haga
clic aquí para ir a la página web de documentación de la API.
Laboratorio: explore las API de Rest con API Simulator y Postman

Ahora verá una lista de API en el espacio de nombres predeterminado /api/v1 .

b. Observe la flecha hacia abajo hacia el extremo derecho. Al hacer clic en cualquier lugar de la barra
/api/v1, se minimizará la lista de API y se girará la flecha hacia la derecha. Haga clic de nuevo en la
misma barra para volver a mostrar la lista de API.
Observe el bloqueo en el extremo derecho de varias de las API. El bloqueo indica que estas API
requieren que se use un token.
Laboratorio: explore las API de Rest con API Simulator y Postman

Step 4: Enumere los libros mediante la API GET /books.


Haga clic en cualquier lugar de la barra para la API GET /books. Esta API devuelve una lista de libros de la
biblioteca de la escuela.

• Parámetros: hay varios parámetros de API opcionales. Estos se pueden usar para filtrar,
ordenaro paginar la salida. Estos serán referidos más adelante en este laboratorio.
Laboratorio: explore las API de Rest con API Simulator y Postman

• Tipo de contenido de respuesta: haga clic en aplicación/json para ver una lista de los
diferentes tipos de formatos de datos que se pueden ver en la información. Deje la selección
como application/json.

• Código: el código muestra 200 de forma predeterminada, lo que indica que la solicitud de API
del servidor fue un éxito como se muestra en la Descripción. (Todavía no ha enviado una
solicitud de API).

Step 5: Utilice la función Pruébelo en la documentación de la API.


Una de las características más poderosas de la especificación OpenAPI es la capacidad de probar una
llamada a la API para ver si la construyó correctamente. También puede revisar la respuesta para ver si es lo
que esperaba. Verá esta misma característica de prueba en la documentación de la API para Cisco,
MapQuest y otras organizaciones que utilizan esta función de especificación de OpenAPI.
a. En la documentación de la API GET /books, lamael botón Pruébelo.
Laboratorio: explore las API de Rest con API Simulator y Postman

b. Observe que ahora tiene la opción de introducir información para los parámetros opcionales. Deje el
parámetroen blanco y haga clic en el botón Ejecutar.
En la sección Respuestas verás:
• Curl: El comando curl que puede usar para acceder a la misma información para la API /books.

• URL de solicitud: esta URL se utiliza en la solicitud de API, que se puede utilizar para solicitar
la misma información mediante curl, Postmany Python.

• Código: Este es el código de respuesta HTTP. 200 indica una llamada correcta.

• Cuerpo derespuesta: Lista de libros en formato JSON.


Laboratorio: explore las API de Rest con API Simulator y Postman

• Encabezados derespuesta: información sobre la API devuelta desde el servidor.

En el cuerpo respuesta verá una lista de libros en formato JSON:


[
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
Laboratorio: explore las API de Rest con API Simulator y Postman

"title": "NetAcad: 20 Years Of Online-Learning",


"autor": "Cisco Systems Inc."
}
]

Step 6: Utilice el comando curl en una ventana de terminal.


La API GET /books proporciona información para acceder al contenido que se muestra en el cuerpo de
respuesta mediante curl. curl es una herramienta de línea de comandos para transferir datos hacia o
desde un servidor, utilizando cualquiera de los protocolos compatibles, incluidos HTTP y HTTPS.
a. Seleccione el comando curl, haga clic con el botón derecho y cópielo en el portapapeles:
curl -X GET "http://library.demo.local/api/v1/books" -H "accept: application/json"

Abra una ventana de terminal. Hagaclic y pegue el contenido del portapapeles en el terminal y pulse
Intro. Observe que esto proporciona la misma información que la interfaz OpenAPI de labiblioteca.
devasc@labvm:~$ curl -X GET "http://library.demo.local/api/v1/books" -H
"accept: application/json"
[
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
Laboratorio: explore las API de Rest con API Simulator y Postman

"author": "Stef Maruch Aahz Maruch"


},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc."
}
]
devasc@labvm:~$

Step 7: Enumere libros con su ISBN utilizando la API GET /books.


a. Vuelva a la API GET /books del sitio web de la API de la biblioteca escolar.
Laboratorio: explore las API de Rest con API Simulator y Postman

b. En la sección Parámetros, seleccione la flecha hacia abajo situada junto alparámetro includeISBN y
seleccione true.
c. Haga clic en Ejecutar.
Observe los siguientescambios en lasrespuestas:
• Curl ahora incluye el parámetro para ISBN.
curl -X GET "http://library.demo.local/api/v1/books?includeISBN=true" -H
"accept: application/json"

• La URL de solicitud ahora incluye el parámetro para ISBN.


http://library.demo.local/api/v1/books?includeISBN=true4

• El cuerpo de respuesta tiene la misma lista de libros que se mostró anteriormente, pero ahora
incluye el ISBN del libro.ç
Laboratorio: explore las API de Rest con API Simulator y Postman

Para minimizar el desplazamiento, cuando haya terminado con una API, puede cerrar esa ventana
específica de la API haciendo clic en cualquier lugar de la barra de título. Ahora puede ver todas las API
más fácilmente.

Step 8: Obtenga un token usando la API POST /loginViaBasic.


a. Haga clic en la API POST /loginViaBasic.

b. Observe que no hay parámetros. Haga clic en Pruébeloy, acontinuación, haga clic en Ejecutar.
Laboratorio: explore las API de Rest con API Simulator y Postman

c. Un cuadro de inicio de sesión le pedirá un nombre de usuario y una contraseña. Introduzca la


siguiente información y haga clic en Iniciar sesión:
• Nombre de usuario: cisco
• Contraseña: Cisco123!

d. El token se mostrará en el cuerpo respuesta. Seleccione la información entre las comillas, haga clic con
el botón derecho y copie la información en el portapapeles. Su token diferirá del que se muestra a
continuación.
{
"token":"cisco| KZZzteQbC5iV3HKEzB7hCJ6qHQXen4rLGh72YJKeVfs"
}

e. Desplácese hasta la parte superior de la página de la API de la biblioteca escolar y haga clic en el botón
verde Autorizar. Aparecerá el cuadro de diálogo Autorizaciones disponibles.

f. Haga clic con el botón secundario y pegue el token después de Valor y haga clic en Autorizar.
Observe que el nombre es X-API-KEY. Esta información junto con el token se utilizará más adelante en
Postman.
Laboratorio: explore las API de Rest con API Simulator y Postman

g. Cierre el cuadro de diálogo Autorizaciones disponibles y vuelva a la lista de API. Observe que los
bloqueos de varias de las API ahora han cambiado. Estas API ya están disponibles para su uso.
h. Haga clic en la barra de la API POST /loginViaBasic para cerrar la ventana.

Step 9: Add libros utilizando la API POST /books.


a. Haga clic en la API POST /libros.

b. Observe en Parámetros que la carga útil es necesaria. Esto significa que esta API requiere
información para este parámetro en el formato especificado por el tipo de contenido Parameter,que is
JSON.

c. Haga clic en Pruébelo.


d. Modifique el id, título y autor con la información que se muestra a continuación.
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani"
}
e. Haga clic en Ejecutar.
Laboratorio: explore las API de Rest con API Simulator y Postman

f. Compruebe que la publicación se realizó correctamente en la respuesta del servidor. Un Código de 200
significa que la publicación fue un éxito. Debería ver el libro que agregó en el cuerpo Respuesta junto
con una nueva identificación. También verá información actualizada para curl y la URL de solicitud.

g. Para agregar otro libro, modifique la identificación, el título y el autor con la información que se
muestra a continuación.
{
"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
}

h. Haga clic en Ejecutar.


i. Compruebe que la publicación se realizó correctamente en la respuesta del servidor. Un Código de
200 significa que la publicación fue un éxito. Debería ver el libro que agregó en el cuerpo Respuesta
junto con una nueva identificación. También verá información actualizada para curl y la URL de
solicitud.
Laboratorio: explore las API de Rest con API Simulator y Postman

Nota:Si obtuviste un código 401, comprueba el texto del cuerpo de la respuesta. Lo más probable es
que haya recibido una respuesta de "error": "Clave de API no válida". Esto se debe a que no ingresó
todos los caracteres para su clave de API. O posiblemente, agregue un espacio innecesario. Vuelva al
paso anterior y repita el proceso de autorización.
j. Haga clic en la barra de la API POST /libros para cerrar la ventana.
k. Puede verificar que los libros se agregaron a la página Nuestros libros. Vuelva a la pestaña Biblioteca
escolar en su navegador(http://library.demo.local) y actualice la página. Tenga cuidado de no cerrar la
pestaña API de la biblioteca escolar. Si lo hace, deberá volver a autenticarse.

Step 10: Enumere los libros mediante la API GET /books.


a. Vuelva a la pestaña API de la biblioteca escolar en el navegador. Haga clic en la API GET /books.
b. Haga clic en Pruébelo. Si ve el botón Cancelar en rojo, entonces ya está en el modo Pruébelo.
c. Haga clic en Ejecutar.
d. En Respuesta del servidor en el cuerpo Respuesta,ahora verá los doslibros que agregó. Observe que
cada uno de ellos tiene una identificación única.
[
Laboratorio: explore las API de Rest con API Simulator y Postman

{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc."
},
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani"
},
{
"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
}
]

e. Haga clic en la barra de la API GET /books para cerrar la ventana.

Step 11: Enumere un libro específico mediante la API GET /books{id}.


a. Haga clic en la API GET /books{id}. Observe que esta API requiere el identificador como parámetro.
b. A la derecha de Parámetros, haga clic en el botón Pruébelo.
c. En Parámetros, escriba 4 para el identificador requerido.
Laboratorio: explore las API de Rest con API Simulator y Postman

d. Haga clic en Ejecutar. Observe la información proporcionada por Curl y Request URL.
• Curl - Este es el comando curl para realizar la misma función usando curl.
• URL de solicitud: esta es la URL que se puede usar para obtener la misma información
utilizando Postman y Python.
Compruebe que la obtención se realizó correctamente en la respuesta del servidor. Un Código de
200 significa que la publicación fue un éxito. En el cuerpo de Respuesta verás el libro que solicitaste
con el id de 4.
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani"
}

e. Haga clic en la barra de la API GET /books{id} para cerrar la ventana.

Step 12: Elimine un libro específico mediante la API DELETE /books{id}.


a. Haga clic en la API DELETE /books{id}. Observe que esta API requiere el identificador como
parámetro.
b. Haga clic en Pruébelo.
c. En Parámetros, escriba 4.
d. Haga clic en Ejecutar.
e. Compruebe que la eliminación se realizó correctamente en la respuesta del servidor. Un Código de
200 significa que la publicación fue un éxito. En el cuerpo de respuesta verá el libro que eliminó con el
id de 4.
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani"
}
Laboratorio: explore las API de Rest con API Simulator y Postman

f. Haga clic en la barra de la API DELETE /books{id} para cerrar la ventana.

Step 13: Enumere los libros mediante la API GET /books.


a. Haga clic en la API GET /books.
b. Haga clic en Pruébelo. Si ve el botón Cancelar en rojo, entonces ya está en el modo Pruébelo.
c. Haga clic en Ejecutar.
d. En Respuesta del servidor en el cuerpo Respuesta, ya no verá el libro con id o 4.
[
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc."
},
{
"id": 5,
Laboratorio: explore las API de Rest con API Simulator y Postman

"title": "31 días antes de su examen CCNA",


"autor": "Allan Johnson"
}
]

Nota: No cierre la pestaña School Library API en el navegador Chromium. Utilizará la documentación de la
API en la siguiente parte.

Part 3: Usar Postman para realizar llamadas a la API al simulador de API


En esta parte, utilizará Postman para realizar las mismas llamadas a la API que realizó en la documentación
de la API de la biblioteca de estudiantes. Postman es una herramienta útil cuando un sitio web para
desarrolladores de API no está disponible, al tiempo que proporciona la capacidad de guardar, organizar y
reutilizar fácilmente las API.

Step 1: Cartero abierto.


Haga doble clic en el icono de Cartero en el escritorio. Normalmente, iniciaría sesión en Postman. Sin
embargo, no es necesario obtener una cuenta e iniciar sesión en Postman para laboratorios en este curso.
Laboratorio: explore las API de Rest con API Simulator y Postman

Step 2: Enumere los libros utilizando la API GET /books.


a. En la ventana principal junto a la pestaña Launchpad, haga clic en el icono más "+" para crear una
solicitud sin título. De forma predeterminada, esta será una solicitud GET.

b. Haga clic en la flecha hacia abajo junto a GET para ver las diferentes operaciones de API, incluidas
GET, POST y DELETE. Deje la selección en GET. Haga clic en la flecha hacia arriba junto a GET para
cerrar la lista.
c. Introduzca la URL de la solicitud.
1) Vuelva a la pestaña API de la biblioteca escolar en Chromium y, si es necesario, expanda la API
GET /books.
2) En Solicitar URL, seleccione, haga clic con elbotón derecho y copie la URL en el portapapeles:
http://library.demo.local/api/v1/books
3) Vuelva a Postman y pegue la URL junto a GET donde dice: "Ingrese la URL de solicitud".
Nota:Si pegar agrega una línea debajo de la URL, elimine la línea adicional.
Laboratorio: explore las API de Rest con API Simulator y Postman

d. Haga clic en Enviar. Para comprobar que la solicitud de API se realizó correctamente, ahora verá una
respuesta que incluye el código de estado 200 OK en verde. Desplácese hacia abajo hasta la sección
Cuerpo para ver la respuesta. Observe que el valor predeterminado es Pretty y json.
[
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc."
},
{
"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
}
]
Laboratorio: explore las API de Rest con API Simulator y Postman

Nota:Puede guardar la salida JSON en un archivo utilizando el botón Guardar respuesta sobre la salida.
Esto no es necesario para este laboratorio.

Step 3: Obtenga un token utilizando la API POST /loginViaBasic.


a. En la ventana principal, haga clic en el icono más "+" para crear una nueva solicitud sin título.
b. Haga clic en la flecha hacia abajo junto a OBTENER y seleccione PUBLICAR.
c. Introduzca la URL de la solicitud.
1) Vuelva a la pestaña API de la biblioteca escolar en Chromium y expanda la API POST
/loginViaBasic, si es necesario.
2) En Solicitar URL, seleccione, haga clic con elbotón derecho y copie la URL en el portapapeles:
http://library.demo.local/api/v1/loginViaBasic
Nota: Si la URL de la solicitud ya no se muestra, es probable que haya cerrado y vuelto a abrir la
página de documentación de la API de la biblioteca escolar y ya no esté autenticado. Haga clic en
Pruébelo, luego en Ejecutary, a continuación, vuelva a autenticarse con el nombre de usuario
cisco y la contraseña Cisco123! .
3) Vuelva a Postman y pegue la URL junto a POST donde dice: "Ingrese la URL de solicitud".
Nota:Si pegar agrega una línea debajo de la URL, elimine la línea adicional.
d. Haga clic en Autorización. Dentro de esta área,complete lo siguiente:
1) En la lista desplegable de Tipo,elija Autenticación básica.
2) Para los campos Nombre de usuario y Contraseña, rellene lo siguiente:
• Nombre de usuario: cisco
• Contraseña: Cisco123!
e. Haga clic en Enviar.
Laboratorio: explore las API de Rest con API Simulator y Postman

f. Si es necesario, desplácese hacia abajo hasta la sección Cuerpo para ver su nuevo token. Su token
será diferente al que se muestra aquí.
{
"token": "cisco|5xSUHYFDvIAoCRv0LqWVSDcjJAwWjg18vMml6u2lm1I"
}

Step 4: Agregue un libro mediante la API POST /books.


Ahora agregará el libro Fundamentos de IPv6 que eliminó en la Parte 2 al usar la función Pruébelo en la
documentaciónde la API de la biblioteca escolar.
a. En la ventana principal, haga clic en el icono más "+" para crear una solicitud sin título.
b. Haga clic en la flecha hacia abajo junto a OBTENER y seleccione PUBLICAR.
c. Introduzca la URL de la solicitud.
1) Vuelva a la pestaña API de la biblioteca escolar en Chromium y expanda la API POST /books.
2) En Solicitar URL, seleccione, haga clic con elbotón derecho y copie la URL en el portapapeles:
http://library.demo.local/api/v1/books
Nota: Si la URL de la solicitud ya no se muestra, es probable que haya cancelado Pruébelo. Haga
clic en Pruébeloy, acontinuación, en Ejecutar para mostrar la dirección URL de la solicitud.
3) Vuelva a Postman y pegue la URL junto a POST donde dice: "Ingrese la URL de solicitud".
Nota:Si pegar agrega una línea debajo de la URL, elimine la línea adicional.
d. Haga clic en Autorización. Dentro de esta área, complete lo siguiente:
1) En la lista desplegable de Tipo,elija Clave de API.
2) En el campo Clave, escriba X-API-KEY.
Nota: Recuerde que vio X-API-KEY en la página web de la API de la biblioteca escolar cuando
obtuvo un token seleccionando el botón verde Autorizar.
3) Vuelva a la pestaña Publicar en Postman y copie el token que recibió en el Paso 3. Asegúrese de
incluir todo entre comillas. Su token será diferente al que se muestra aquí.
Ejemplo: cisco|5xSUHYFDvIAoCRv0LqWVSDcjJAwWjg18vMml6u2lm1I
4) Vuelve a la segunda pestaña Publicar en Postman. Pegue el token en el campo Valor
e. En la misma fila con la ficha Autorización, c lamer Cuerpo. Esta sección le permitirá elegir el formato
de su entrada.
• Haga clic en el botón de opción sin procesar.
Laboratorio: explore las API de Rest con API Simulator y Postman

• Haga clic en Text y cambie esta opción a JSON.


f. En el área de entrada verá el número1, para "línea 1". Escriba el siguiente objeto JSON.
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani",
"isbn": "978 158144778"
}
g. Haga clic en Enviar.
h. Para comprobar que la solicitud de API se realizó correctamente, ahora verá una respuesta que incluye
el código de estado 200 OK en verde.

Step 5: Verifique el libro adicional con la API Get /books.


a. Vuelva a la primera pestaña GET. Como puede ver, Postman facilita el cambio entre diferentes llamadas
API.
b. Haga clic en Enviar.
c. Para comprobar que la solicitud de API se realizó correctamente, ahora verá una respuesta que incluye
el código de estado 200 OK en verde.
d. Haga clic en Cuerpo para ver la respuesta. Observe que el valor predeterminado es Pretty y json.
[
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc."
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc."
},
Laboratorio: explore las API de Rest con API Simulator y Postman

{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani"
}
{
"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
},
]

Step 6: Utilice parámetros adicionales con la API Get /books.


a. Vaya al sitio webde la API de la biblioteca escolar. Scroll hasta GET /books API y expandirlo, si es
necesario.
Observe los parámetros que están disponibles:
o includeISBN: Incluye en los resultados los números ISBN. Predeterminado=false
o sortBy: Ordena los resultados utilizando el parámetro especificado. Default=id
o autor:Devolver sólo los libros del autor dado.
o page: Se utiliza para especificar un número de página.
b. Haga clic en Pruébelo. Si ve un botón Cancelar en rojo, entonces no necesita seleccionar este botón.
c. Bajo parámetros:
• Haga clic en includeISBN y seleccione true
• Haga clic en ordenar Por y seleccione autor
d. Haga clic en Ejecutar.
e. En el cuerpo de respuesta verá la lista de libros ahora ordenados por autor e incluyendo los ISBN.
[
{
Laboratorio: explore las API de Rest con API Simulator y Postman

"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc.",
"isbn": "000-0000000123"
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc.",
"isbn": "000-0000001123"
},
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack",
"isbn": "978-1578700714"
},
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani",
"isbn": "978 1587144778"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch",
"isbn": "978-0471778646"
}
]

Observe que la dirección URL de la solicitud ahora incluye los parámetros. Verás esto de nuevo en
Postman.
http://library.demo.local/api/v1/books?includeISBN=true&sortBy=author
f. Vuelve a Postman y ve a la primera pestaña de la API, GET http://library.demo.local/api/v1/books.
Ahora incluirá algunos de los parámetros del sitio web de la API de la biblioteca escolar.
g. Haga clic en Parámetros. Verá en Query Params cuadros de entrada para KEY y VALUE.
Introduzca la siguiente información:
• En KEY, escriba includeISBN y en Value enter true
Observe que se incluirá automáticamente una marca de verificación a la izquierda del valor y se
agregará una nueva fila.
• En CLAVE, escriba sortBy y en Valor, escriba author
Laboratorio: explore las API de Rest con API Simulator y Postman

Observe que al introducir estos parámetros de consulta, ha actualizado la dirección URL original junto al
GET. Esta es la misma URL de solicitud que vio en el sitio web de la API de la biblioteca escolar para
esta misma llamada a la API. Esta es la URL que Postman utilizará, con estos parámetros de consulta al
realizar la llamada a la API.
http://library.demo.local/api/v1/books?includeISBN=true&sortBy=author
h. Haga clic en Enviar.
Observe en el Cuerpo,ahora muestra la misma lista de libros, ordenados por autor e incluyendo los ISBN
que vio en el sitio web de la API de la Biblioteca Escolar.
[
{
"id": 5,
"title": "31 días antes de su examen CCNA",
"autor": "Allan Johnson"
},
{
"id": 2,
"title": "Linux para Networkers",
"autor": "Cisco Systems Inc.",
"isbn": "000-0000000123"
},
{
"id": 3,
"title": "NetAcad: 20 Years Of Online-Learning",
"autor": "Cisco Systems Inc.",
"isbn": "000-0000001123"
},
{
"id": 0,
"title": "Fundamentos de enrutamiento IP",
"autor": "Mark A. Sportack",
"isbn": "978-1578700714"
},
{
"id": 4,
"title": "Fundamentos de IPv6",
"autor": "Rick Graziani",
"isbn": "978 1587144778"
},
{
"id": 1,
"title": "Python para Dummies",
"author": "Stef Maruch Aahz Maruch",
"isbn": "978-0471778646"
}
]
Laboratorio: explore las API de Rest con API Simulator y Postman

Part 4: Usar Python para agregar 100 libros al simulador de API


Puede usar la herramienta OpenAPI Specification Try It o Postman para agregar tantos libros como desee.
Sin embargo, tendría que agregarlos uno a la vez. Una mejor solución sería escribir un programa para
agregar los libros. En esta parte, simulará el proceso de agregar 100 libros utilizando la biblioteca de
falsificadores de Python.

Step 1: Abra Visual Studio (VS) Code y navegue hasta el directorio de la biblioteca escolar.
a. Abra laoda VS Cdesde el botón Menú o haciendo doble clic en el icono del escritorio.
b. Haga clic en Archivo > Abrir carpeta... , vaya a la carpeta labs/devnet-src/school-library y haga clic
en Aceptar.

Step 2: Investigue las bibliotecas utilizadas por add100RandomBooks.py programa.


a. En el panel VS Code EXPLORER de la izquierda, haga clic en add100RandomBooks.py para abrirlo,
si es necesario.
b. En la parte superior, observe el "shebang" que establece el intérprete en Python 3 y luego las tres
bibliotecas que se importan.
#!/usr/bin/env python3

solicitudes de importación
importar json
de faker import Faker
Laboratorio: explore las API de Rest con API Simulator y Postman

c. Utilizará la biblioteca de solicitudes de Python a lo largo de este curso. La biblioteca de solicitudes es


necesaria si desea utilizar Python para realizar solicitudes de API mediante GET, POST, DELETE y
otros métodos HTTP.
d. Faker es una biblioteca de Python que genera datos 'falsos' para usted. Este programa utiliza la
biblioteca de falsificadores de Python para generar títulos de libros, autores e ISBN aleatorios. Puede
buscar en Internet más información sobre la biblioteca de falsificadores. Sin embargo, complete los
siguientes pasos para ver todos los métodos 252 para la biblioteca de falsificadores.
1) Abra una ventana de terminal e inicie Python 3.
2) Desde faker importar el módulo Faker().
3) Asigne el módulo Faker() a fake.
4) Para ver todos los métodos, ingrese falso. y, a continuación, presione la tecla TAB dos veces.
Observe el método fake.name(), que utilizará en el siguiente paso. En el siguiente paso y más
tarde en este laboratorio, también se utilizarán los tres métodos resaltados (prologados con falso.
). : catch_phrase(), isbn13()y name().
devasc@labvm:~/labs/devnet-src/school-library$ python3
Python 3.8.2 (predeterminado, 27 de abril de 2020, 15:53:34)
[GCC 9.3.0] en linux
Escriba "ayuda", "derechos de autor", "créditos" o "licencia" para obtener
más información.
>>> de importación de faker Faker
>>> falso = Faker()
Laboratorio: explore las API de Rest con API Simulator y Postman

>>> falso. < presione la tecla Tab dos veces, asegúrese de incluir el
período>
¿Mostrar las 252 posibilidades? (y o n)
fake.add_provider( fake.future_datetime( fake.pyfloat(
fake.address( fake.generator_attrs fake.pyint(
fake.am_pm( fake.get_formatter( fake.pyiterable(
<se omitió la >
fake.catch_phrase( fake.ipv4_public( fake.random_element(
fake.chrome( fake.isbn10( fake.random_int(
fake.city( fake.isbn13( fake.random_letter(
<se omitió la >
fake.date_time_ad( fake.msisdn( fake.texts(
fake.date_time_between( fake.name( fake.time(
<se omitió la >
fake.future_date( fake.pydict( fake.zipcode_plus4(
>>>
Laboratorio: explore las API de Rest con API Simulator y Postman

Step 3: Practique la generación de datos aleatorios utilizando la biblioteca faker.


a. Escriba lo siguiente para generar un nombre falso. Su salida será un nombre falso diferente cada vez
que ejecute el comando.
>>> print('Mi nombrees {}. '.format(fake.name()))
Mi nombre es Katherine Ross.
>>>

Pregunta:

b. Usando los tres mensajes resaltados en el Paso 2d anterior, ingrese el comando que imprimiría la
siguiente salida falsa.
Escriba sus respuestas aquí.
>>> imprimir('Mi nombre es {} y escribí "{}" (ISBN {}).'.
format(fake.name(),fake.catch_phrase(),fake.isbn13()))
Mi nombre es Gary Castaneda y escribí "Organic incremental neural-net" (ISBN 978-0-
669-01935-3).
>>>

c. Más adelante en el programa, se utiliza un bucle para iterar a través de estos tres métodos para crear
entradas para la Biblioteca Escolar. Escriba lo siguiente para generar 10 nombres aleatorios. Después
del "..." deberá presionar retorno por segunda vez.
>>> para i en el rango(10):
... imprimir(fake.name())
...
Kevin Moyer
Dr. Christopher Green
Spencer Jensen
Whitney Guzmán
Nicole Scott
Tammy Lewis
Craig Edwards
Miguel Díaz
Ryan Mccoy
Terry Rocha
>>>
Laboratorio: explore las API de Rest con API Simulator y Postman

d. Salga del intérprete de Python cuando termine de investigar la biblioteca falsa.


>>> quit()
devasc@labvm:~/labs/devnet-src/school-library$

Step 4: Revise las variables de función.


Las dosfunciones del programa utilizan tres variables para obtener un token de autorización del servicio API
de la biblioteca escolar.
APIHOST = "http://library.demo.local"
LOGIN = "cisco"
CONTRASEÑA = "Cisco123!"

Step 5: Revise la función getAuthToken.


a. La función getAuthToken utiliza tres variables para generar una solicitud. La variable r invoca el
método POST para la API loginViaBasic y almacena el valor del token si la llamada se realiza
correctamente. Observe el uso de una cadena f para generar la dirección URL de lasolicitud.
def getAuthToken():
authCreds = (LOGIN, CONTRASEÑA)
r = requests.post(
f"{APIHOST}/api/v1/loginViaBasic",
auth = authCreds
)

b. Si la llamada no se realiza correctamente (el código de estado HTTP no es igual a 200), se genera una
excepción y se imprime en la ventana del terminal. De nuevo, observe el uso de una cadena f para
generar el mensaje de excepción. Puede probar el código de excepción cambiando una de las variables
del paso 4.
si r.status_code == 200:
return r.json()["token"]
más:
raise Exception(f"Status code {r.status_code} and text {r.text}, al intentar
Auth.")
Laboratorio: explore las API de Rest con API Simulator y Postman

Step 6: Revise la función addBook.


a. Similar a la función addAuthToken, la función addBook utiliza las tres variables que se muestran en el
paso 4 para generar una solicitud. La variable r invoca el método POST para la API de libros. Los
datos provienen de una variable llamada libro,que se especifica en la parte final del programa.
def addBook(libro, apiKey):
r = requests.post(
f"{APIHOST}/api/v1/books",
encabezados = {
"Content-type": "application/json",
"X-API-Key": apiKey
},
data = json.dumps(libro)
)

b. Si la llamada no se realiza correctamente, se genera una excepción y se imprime en la ventana


delterminal. Puede probarlo cambiando una de las variables del paso 4.
si r.status_code == 200:
print(f"Libro {libro} añadido.")
más:
raise Exception(f"Código de error {r.status_code} y texto {r.text}, al
intentar agregar el libro {book}.")

Step 7: Revise el código que invoca las dos funciones.


a. Se invoca la función addAuthToken y los resultados se almacenan en la variable apiKey.
apiKey = getAuthToken()

b. El módulo Faker() se establece en una variable named fake. A for loop luego itera 100 veces. La
variable i se utiliza más adelante en el bucle para establecer el valor de la clave id para cada nuevo
libro de 4 hasta 10 4 y sin incluir 104.
Nota:Si desea conservar los dos libros anteriores agregados anteriormente en este laboratorio, cambie
el rango a (6, 106).
Nota del instructor para los revisores de LosÁngeles: Su versión del script puede tener el rango de 4
a 105, lo que agregará 101 libros. Cambie el rango y guarde el script para agregar solo 100 libros. Esto
se actualizará en la versión GA de la máquina virtual DEVASC.
falso = Faker()
para i en el rango(4, 104):

c. A continuación, tres variables contienen el valor de los métodos invocados desde el módulo Faker():
catch_phrase(), name()e isbn13().
fakeTitle = fake.catch_phrase()
fakeAuthor = fake.name()
fakeISBN = fake.isbn13()

d. Recuerde que el parámetro de carga útil para la API de libros requiere JSON en el siguiente formato:
{
"id": 0,
"title": "cadena",
"autor": "cadena"
}
Laboratorio: explore las API de Rest con API Simulator y Postman

La variable book se construye utilizando las tres claves requeridas para el parámetro de carga útil y los
valores de las tres variables falsas.
book = {"id":i, "title": fakeTitle, "author": fakeAuthor, "isbn": fakeISBN}

e. Finalmente, la función addBook se llama pasar las variables book y apiKey. Debido a que addBook
es parte del bucle, se llamará 10 1 veces,una vez cada una para el ID de libro 4 a 105.

Step 8: Ejecute y verifique el programa de 100RandomBooks.py deagregar.


a. Ingrese el comando Python 3 para ejecutar el programa add100RandomBooks.py. Debería obtener una
salida similar a la siguiente, aunque los títulos de sus libros y los números ISBN serán valores falsos
diferentes.
devasc@labvm:~/labs/devnet-src/school-library$ python3 add100RandomBooks.py
Libro {'id': 4, 'title': 'Assimilated client-server frame', 'author': 'Chelsea
Mitchell', 'isbn': '978-0-411-83123-3'} añadido.
Libro {'id': 5, 'título': 'Conglomerado tangible adaptativo', 'autor': 'Edward Ryan',
'isbn': '978-1-64406-014-8'} añadido.
<se omitió la >
Libro {'id': 103, 'título': 'Fundamental uniforme data-warehouse', 'autor': 'Dennis
David', 'isbn': '978-1-68465-896-1'} añadido.
Libro {'id': 104, 'title': 'Organic 4thgeneration functionalities', 'author': 'Nicole
Gilbert', 'isbn': '978-0-13-176202-2'} añadido.
devasc@labvm:~/labs/devnet-src/school-library$

b. Vuelva al navegador Chromium y actualice la página web de http://library.demo.local/. Ahora debería


ver sus 100 nuevos libros agregados.
Nota:Si llegaste a la página de documentación de la API en lugar de a la página principal
(http://library.demo.local/api/v1/docs)y usas Pruébalo,solo obtendrás una lista de los primeros 10
libros. Puede introducir un valor de 2 a 10 en el parámetro de página para ver los otros libros.
Laboratorio: explore las API de Rest con API Simulator y Postman

Pregunta:

¿Cómo añadirías otros 100 libros?


Escriba sus respuestas aquí.
Cambie el bucle for para que tenga un rango de 104 a 204.
Fin del documento

También podría gustarte