Меня интересовало, как я могу реализовать систему разбиения на страницы в методе GET, но я не знаю, как это сделать.
Любая помощь будет оценена.
В следующемСхема JSON Я хочу, чтобы вы показывали мне информацию, относящуюся к этой странице, например: фактическая страница, следующая страница, общая страница и т. д. *
Я хочу обратиться к странице, используя & page = 1 в URL
Json
{
"animes": [
{
"title": "",
"id": "",
"poster": "",
"type": "",
"synopsis": "",
"state": ""
},
]
}
Маршрутизатор
import * as scraper from './scraper';
import * as express from 'express';
const router = express.Router();
router.get('/latest', (req: express.Request, res: express.Response) => {
scraper.lastAnimesAdded()
.then(animes => {
res.status(200).json({
animes
});
}).catch((err) =>{
console.log(err)
});
});
Paginator
export const paginator = (items, page, per_page) => {
var page = page || 1,
per_page = per_page || 10,
offset = (page - 1) * per_page,
paginatedItems = items.slice(offset).slice(0, per_page),
total_pages = Math.ceil(items.length / per_page),
paginContent = {
page: page,
per_page: per_page,
pre_page: page - 1 ? page - 1 : null,
next_page: (total_pages > page) ? page + 1 : null,
total: items.length,
total_pages: total_pages,
data: paginatedItems
};
console.log("Paginate Item: ", paginatedItems);
console.log("Pagin Content: ", paginContent);
const total = paginContent.total;
return paginContent.data;
};