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
iflen(queryVals)!=1{ val = defaultVal
}else{ val, err = strconv.Atoi(queryVals[0])}return val, err
}
No sabía que a las bases de datos les daba ansiedad jaja
Este ejemplo de la paginación es incorrecto. Si no se envía ningún parámetro, por convención debería retornar la primera página que contiene los posts 1 y 2. Al enviar la página dos, debería retornar el post 3. En este ejemplo, se contempla la página=0, aunque esto no es lo más común.
Estimado Néstor, el contexto que se incluye como parámetro en los handlers es Global a la aplicación y común para todos los Handlers, ó cada handler manejaría su propio contexto ?
El contexto es un tema completamente aparte, lastimosamente es tan hondo que en éste curso no lo incluyeron
Yo cree esta funcion y la implemente en el handler: