How can I get the total number of pages on Spring Data?

GabrielRado :

I have an Angular app that shows a list of entities and I have a 'show more' button that increments page number and uses this method:

Page<myEntity> result = myRepo.findByAttr(attr, page);

I format this result and send it via REST's JSON. I want to disable 'show more' button if there's no further pages to get. There's a 'frameworkie' specific way to retrieve this number or I should use findAll() and count through this list?

pvpkiran :

This is the source code of Page interface

public interface Page<T> extends Slice<T> {

    /**
     * Returns the number of total pages.
     * 
     * @return the number of total pages
     */
    int getTotalPages();

    /**
     * Returns the total amount of elements.
     * 
     * @return the total amount of elements
     */
    long getTotalElements();

    /**
     * Returns a new {@link Page} with the content of the current one mapped by the given {@link Converter}.
     * 
     * @param converter must not be {@literal null}.
     * @return a new {@link Page} with the content of the current one mapped by the given {@link Converter}.
     * @since 1.10
     */
    <S> Page<S> map(Converter<? super T, ? extends S> converter);
}

You have getTotalElements() to get the total number of matching element.
getTotalPages() will give total number of pages.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=466639&siteId=1