En este post vamos a ver cómo validar y obtener los parámetros GET pasados en la URL cuando estamos leyendo la petición de un servidor HTTP.
Recuerda que con net/http
podemos obtener el mapa de parámetros con http.Request.URL.Query
, luego cuando accedemos a una clave nos devolverá un arreglo con todos los valores para esa clave GET y finalmente si solo queremos el primero accederemos a la posición 0 de ese arreglo.
Yo te enseñaré cómo pasar de esta validación:
A esta más limpia:
De este modo podremos validar que el parámetro GET se encuentre presente en la petición HTTP además de que no esté vacío, y no importará la cantidad, siempre tendremos las mismas líneas.
Nota: seguramente habrá frameworks o librerías que ya hacen el trabajo. Yo lo haré usando solo la librería estándar y el paquete net/http de Golang.
Estaba dándole mantenimiento a mi plugin para imprimir PDF silenciosamente desde cualquier lugar y vi que podía simplificar la extracción de parámetros get de la url con la siguiente función:
Si te fijas recibimos una lista de valores que deben estar presentes en la URL. Primero verificamos si existe en la línea 11, si no, lo indicamos y regresamos el error.
Después extraemos el primer valor (tipo string) en la línea 14 y comprobamos que no esté vacío. Si todo va bien entonces agregamos ese valor a la lista de valores ya extraídos en la línea 18 y finalmente devolvemos la lista en la línea 20.
De este modo podemos verificar que se estén enviando los valores necesarios en la URL y ahorramos código comprobando cada valor.
Por aquí te dejo más tutoriales de Golang.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.