Реализуйте ленивый стол ленивая загрузка для остальных API - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть требование для реализации конечной точки api Spring rest для отложенной загрузки таблицы для этих параметров:

export interface IPagination {
  current: number;
  next: number;
  previous: number;
  total: number;
  count: number;
}

Я пытался реализовать этот код Java:

@GetMapping(value = "/page", params = { "current", "next", "previous", "total", "count"}, produces = "application/json")
    public Page<PaymentTransactionsDTO> findPaginated(@RequestParam("current") int current, @RequestParam("next") int next, 
            @RequestParam("previous") int previous, @RequestParam("total") int total,
            @RequestParam("count") int count) {

        Page<PaymentTransactionsDTO> resultPage = service.findPaginated(current ........);
        if (page > resultPage.getTotalPages()) {
            throw new MyResourceNotFoundException();
        }
        return resultPage;
    }

Репозиторий:

@Override
    public List<PaymentTransactions> findAll(Specification<PaymentTransactions> spec) {
        String hql = "select e from " + PaymentTransactions.class.getName() + " e";
        TypedQuery<PaymentTransactions> query = entityManager.createQuery(hql, PaymentTransactions.class);
        List<PaymentTransactions> paymentTransactions = query.getResultList();
        return paymentTransactions;
    }

Я использую репозиторий Crud, в котором я должен использовать Specification<PaymentTransactions> spec Знаете ли вы, как я должен использовать spec для разбора значений, или есть другой способ сделать правильный запрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...