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: 
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);
    }
}

```
To get better result, you need to extend RepositoryRestMvcConfiguration, like below

```
@Configuration
   public class RespositoryConfiguration extends RepositoryRestMvcConfiguration {

    @Override
    @Bean
    public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {

        HateoasPageableHandlerMethodArgumentResolver resolver = super.pageableResolver();
        resolver.setOneIndexedParameters(true);
        return resolver;
    }
}

```

Then you shall get all the links and pagination information correct except 'number', which is one less.
See the result for page=1,

```
  "_links": {
    "first": {
      "href": "http://localhost:8080/user/user?page=1&size=5"
    },
    "self": {
      "href": "http://localhost:8080/user/user"
    },
    "next": {
      "href": "http://localhost:8080/user/user?page=2&size=5"
    },
    "last": {
      "href": "http://localhost:8080/user/user?page=2&size=5"
    }
  },
  "page": {
    "size": 5,
    "totalElements": 6,
    "totalPages": 2,
    "number": 0
  }

```