Question: boot(1.4.0) "Pageable" for pagination.It works fine without any issue.But by default the page value starts from "0" but in the front-end the page value starts from "1". So is there any standard approach to increment value instead of manually increment the page number inside the code?

```
public Page<Device> find(DeviceFindCommand deviceFindCommand, Pageable pageable){
//page = 0 //Actual is 0, Expected increment by 1. 
}

```

Any help should be appreciable.

After implementing **Alan** answers having the following issues,

1) Still i am able to access zero page which returns the first page(I don't know this is issue or not but i want to get a better clarity).

<http://localhost:8180/api/v1/books/?page=3&size=2> 

**Response**

```
{
    "content": [
{
  "id": "57da9eadbee83fb037a66029",
  .
  .
  .
}{
.
.
.
}
],
    "last": false,
    "totalElements": 5,
    "totalPages": 3,
    "size": 2,
    "number": 2, //strange always getting 1 less than page number.
    "sort": null,
    "first": true,
    "numberOfElements": 2
}

```

2) **"number": 2,** in the response always getting one less than the page number.It should return the current page index.

Answer: 
If you are using Spring Boot 2.X you could switch from `WebMvcConfigurerAdapter` to application properties. There is a set of properties to configure pageable:

```
# DATA WEB (SpringDataWebProperties)
spring.data.web.pageable.default-page-size=20 # Default page size.
spring.data.web.pageable.max-page-size=2000 # Maximum page size to be accepted.
spring.data.web.pageable.one-indexed-parameters=false # Whether to expose and assume 1-based page number indexes.
spring.data.web.pageable.page-parameter=page # Page index parameter name.
spring.data.web.pageable.prefix= # General prefix to be prepended to the page number and page size parameters.
spring.data.web.pageable.qualifier-delimiter=_ # Delimiter to be used between the qualifier and the actual page number and size properties.
spring.data.web.pageable.size-parameter=size # Page size parameter name.
spring.data.web.sort.sort-parameter=sort # Sort parameter name.

```

But please remember that even if you change the `one-indexed-parameter` the page response (`PageImpl` class) will return results with zero-based page number. It could be a little misleading.
Spring Boot will be using Spring Data under the covers.

The Spring Data class you need to configure is the following:

org.springframework.data.web.PageableHandlerMethodArgumentResolver

and in particular the following method:

<http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/web/PageableHandlerMethodArgumentResolver.html#setOneIndexedParameters-boolean->

This will allow you to use you current UI paging as is i.e. with first page = 1.

In a Boot application I think the config may look something like:

```
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
        PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver();
        resolver.setOneIndexedParameters(true);
        argumentResolvers.add(resolver);
        super.addArgumentResolvers(argumentResolvers);
    }
}

```