En la mayoría de tutoriales sobre cómo construir una API en Go (incluído el tutorial de la documentación oficial de Go), el primer endpoint que se describe es el que usa el método GET
y que recupera todos los registros de la base de datos.
Sin embargo, en el mundo real, las APIs devuelven un número limitado de registros y un índice; en una nueva consulta, se puede obtener un nuevo conjunto de resultados (y un nuevo índice), etc. Esto es así porque el resultado de la consulta con GET
puede, potencialmente, devolver un número elevado de registros.
En el tutorial Building a Web App with Go and SQLite, se incluye una limitación hardcodeada en el código para evitar, precisamente, que se devuelvan todos los valores en la base de datos de ejemplo (1000 registros).
En este artículo, voy a mostrar cómo obtener el valor desde la queryString para que sea configurable desde la llamada a la API.