Hello World !!
In my last blog, we have seen how to develop REST CRUD APIs using Spring Boot and MongoDB. BLOG LINK
In that blog, we have created some APIs like create, update, delete and get data from database.
Now consider one scenario, if we have low amount of data then we can fetch all data at the same time we can display that data on UI part. But, if we have large amount of data and if we try to show all that data at same time in UI then it will create mess on UI part. Also, at the same time APIs and database is also going to take little more time to process that data and give response.
To solve this issue, we can use
pagination concept in API.
What Is Pagination ?
Pagination is a concept of dividing the results into discrete batches and return a single page at a time as an API response.
- Java 8
- Spring Boot
Till now, we have created project and some basic APIs developed. If you need to re-visit that topics please follow this link.
Now, we are going to modify our code and going to add new API endpoint with pagination logic.
Now, we need to create new API endpoint named
Here, we have created new
GET method endpoint named
/api/user/get to handle pagination request.
Now, we have created controller endpoint, we need to add respected service layer modification for pagination which is mentioned in below service class code snippet.
Here, we are calling
findAll() with from JPA Repository with
With the help of pageable we are going to get user data from database with pagination and if we pass different pages and sizes then this pageable request is going to manage and generating response with the help of dynamic page and size.
To generate user response and add
size and list of user we have generated new response class named
User Response Class
In this class, we are going to set user response with page details and generating API response for consumer.
Now, run SpringBoot application using with Maven command:
Get All User (With Pagination)
As you can see in above postman image, we can pass page and size details (highlighted in yellow) as per our need to get API response accordingly.
here in API response, you can see that we have added
totalCount related details with some other page related details (
page - current page,
size - current page size).
So, we can identify that how many times we need to call particular pagination API.
In today's blog, we have seen how to develop RESTful API using SpringBoot and MongoDB with the help of Pagination Concept.
Thank you for reading, I hope you found this article useful.