Adds pagination info to a
Link
response header.
This technique is considered to be a best practice for REST APIs and is currently used by GitHub. The gem also adds the total number of records into a Total-Count
header.
Support for rails-api is built in.
Example
Link: <http://example.com/posts?page=2&per_page=10>; rel="next", <http://example.com/posts?page=2&per_page=10>; rel="last"
Total-Count: 11
Requirements
Install
Include in your Gemfile:
gem 'api_pagination_headers'
Usage
class PostsController < ApplicationController
after_action only: [:index] { set_pagination_headers(:posts) }
def index
@posts = Post.all.paginate(per_page: params[:per_page], page: params[:page])
respond_with @posts
end
end
Config
ApiPaginationHeaders.configure do |config|
# Change total count header title (default: 'Total-Count')
config.total_count_header = 'X-Total-Count'
# Force HTTPS (default: false)
config.force_https = true
end
License
MIT © Richard Käll