Pager Serializer
The Page Serializer extends the default Serializer to include pagination data. This module is intended to be used with rest and the Rest export View with a decoupled UI. Including the pagination, data lets the front end know the total record count and other useful information. This eliminates the need to make another rest endpoint to get the total number of records.
Support the Drupal Association
You can support the continued success of the Drupal project by choosing to become a member or donate.
Configuration
- Navigate to Administration > Structure > Views > Add view and create a
new view of REST EXPORT - In the Format, select the 'Pager Serializer'.
- On the style settings, provide the Accepted request formats to use.
- In the Pager, select the 'Paged output, full pager'
- Save the settings and view the result.
Sample output
Pager Serializer produces output like the following.
{
rows: [
{...},
{...}
],
pager: {
current_page: 0,
total_items: 6,
total_pages: 2,
items_per_page: 5,
}
}
Similar projects and how they are different
Using Serializer with Views, only the rows are returned. This module extends Serializer to return the pagination data. All the property names are customizable, and properties can be disabled to meet the needs of the front end.
Views Serialization Pager is another contributed module which also exposes pagination data.
Develop Pager Serializer using DDEV ⚙
If you haven't already, install DDEV.
git clone [email protected]:project/pager_serializer.git cd pager_serializer ddev config --project-type=drupal --docroot=web --php-version=8.4 --corepack-enable --project-name=pager-serializer ddev add-on get ddev/ddev-drupal-contrib ddev add-on get s-ayers/ddev-drupal-contrib-mkdocs ddev start ddev poser ddev symlink-project ddev drush site:install -y ddev drush pm:install pager_serializer -y ddev drush config:export -y ddev drush user:login