Una forma de resolver el ejercicio es tomando “page” y “size” de la request, dejando al cliente cliente como el responsable de saber qué quiere leer. Sobre este mecanismo, en nuestra API podemos verificar que estos parámetros cumplan ciertos requisitos, por ejemplo, requerir que el tamaño de página no exceda un límite para evitar estresar la base de datos.
func getIntQueryParam(r *http.Request, key string, defaultVal int) (int, error) {
query := r.URL.Query()
queryVals := query[key]
var val int
var err error
if len(queryVals) != 1 {
val = defaultVal
} else {
val, err = strconv.Atoi(queryVals[0])
}
return val, err
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.