Как пропустить атрибуты подкачки в Get Request в Springboot - PullRequest
0 голосов
/ 15 марта 2019

Я новичок в API REST и разрабатываю запрос Get.Ранее я отправлял все объекты в простой запрос на получение.Теперь я также реализовал разбиение на страницы, так как на данный момент цель состоит в том, чтобы позволить конечному интерфейсу API работать, и они будут постепенно выполнять разбиение на страницы, в противном случае им нужно будет сделать много изменений.

Предыдущий API - {{base_url}}/api/leads/new

С нумерацией страниц {{base_url}}/api/leads/new?pageNumber=1&pageSize=10

Ниже приведен фрагмент кода.

Цель состоит в том, чтобы позволить пользователю пропускать атрибуты pageNumber и pageSize вместе со своими ключами.

, чтобы его предыдущий API продолжал работать.

@RequestMapping(value = "/new", method = RequestMethod.GET, params = { "pageNumber", "pageSize" } )
public @ResponseBody ResponseEntity getNewLeadsDetails(@RequestParam(value = "pageNumber" , required = false, defaultValue = "0") int pageNumber ,@RequestParam(value = "pageSize", required = false,  defaultValue = "10") int pageSize,Authentication authentication,
        HttpServletRequest httpServletRequest) { 
    return leadService.getNewLeads(pageNumber,pageSize,authentication);
}

Ответы [ 2 ]

2 голосов
/ 15 марта 2019

Вы можете использовать нумерацию страниц по умолчанию, как показано ниже

@RequestMapping(value = "/new", method = RequestMethod.GET)
public @ResponseBody ResponseEntity getNewLeadsDetails(Pageable pageable, Authentication authentication,
    HttpServletRequest httpServletRequest) { 
  if(null == pageable) {
      return leadService.getNewLeads(authentication);
  } else {
      return leadService.getNewLeads(pageable.getPageNumber(),pageable.getSize(),authentication);
  }
}

Просто измените URL запроса и замените его с pageNumber на page и pageSize на size.

0 голосов
/ 15 марта 2019
@RequestMapping(value = "/new", method = RequestMethod.GET, params = { "pageNumber", "pageSize" } )
public @ResponseBody ResponseEntity getNewLeadsDetails(@RequestParam(value = "pageNumber" , required = false) Integer pageNumber ,@RequestParam(value = "pageSize", required = false) Integer pageSize, Authentication authentication,
        HttpServletRequest httpServletRequest) { 
    if(null == pageSize || null == pageNumber) {
        return leadService.getNewLeads(authentication);
    } else {
        return leadService.getNewLeads(pageNumber,pageSize,authentication);
    }
}

Ваша служба разрешает и то, и другое, если не установлено, не использовать пейджинг.

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