Swagger
Uso de Swagger para la resolución de problemas de las aplicaciones
La siguiente herramienta que podemos utilizar para probar y depurar nuestra aplicación es Swagger. Ya nos hemos familiarizado con ella anteriormente; como recordarás, en ella puedes ver todos los endpoints de la aplicación que se está desarrollando, ejecutarlos y obtener el resultado. Veamos esto con más detalle.
Autorización en Swagger
En primer lugar, recuerda que Middleware Token Auth está habilitado por defecto, lo que controla el acceso al endpoint para la mayoría de los endpoints. Deniega el acceso a los usuarios que no han sido autorizados o incluso lo han pasado pero no tienen los derechos de acceso adecuados (por ejemplo, pertenecen al grupo Users, y el endpoint está destinado exclusivamente a Admins).
El token de autorización necesario se puede encontrar utilizando el Developer Tools. Todo lo que hay que hacer es iniciar sesión en la aplicación web publicada y luego cumplir con cualquier solicitud. El token se utilizará en la aplicación Request Headers. Por ejemplo, se puede ver en la captura de pantalla un poco más arriba en el momento en que realizamos una GET solicitud para obtener datos sobre países.
Vamos a ver cómo se puede obtener directamente en Swagger. Para ello, busca el endpoint que se encarga de la autorización (Auth grupo, POST /Auth/ endpoint) y haga clic en el botón "Try it out". Este endpoint toma dos parámetros, Login, y Password. Especifíquelos y haga clic en Execute para enviar la solicitud. Por cierto, aquí también puede ser útil utilizar los Developer Tools; puede abrirlos para un estudio más detallado de la solicitud y la respuesta.
La respuesta recibirá el token requerido, así como información detallada sobre el usuario y sus sesiones.
Puedes ver que la respuesta recibida no es muy diferente de la que ya vimos en el Developer Tools. Al mismo tiempo, Swagger tiene una ventaja innegable y es que permite probar cualquier petición y lanzar endpoints con los parámetros necesarios de forma cómoda. Pero antes de proceder a dichas pruebas, vamos a pulsar Authorize y utilicemos el token recibido para confirmar la autorización.
El envío de solicitudes mediante Swagger
Ahora enviemos una petición a través de Swagger para obtener los datos de la primera ciudad que aparezca, con una población de más de 5 millones de personas y la palabra "World" en la descripción. Para ello, abra el endpoint GET /city/ endpoint y rellena los parámetros necesarios:
- _limit = 1 (sólo se necesita una ciudad)
- population_from = 5000000 (se debe comprobar el valor de la población)
- _search_in = info (buscar sólo en el campo info )
- _search = World (buscando la palabra World)
La respuesta recibida muestra que la petición se ha ejecutado correctamente. Recibimos información sobre una de estas ciudades (vemos que count = 3, lo que significa que la base de datos contiene información sobre tres ciudades adecuadas) y no recibimos ningún dato sobre el país en el que se encuentra (“country”: null), ya que la consulta no necesitaba presentar datos de las tablas relacionadas (si fuera necesario, valdría con utilizar el parámetro _with parámetro).