2016-10-29 64 views
1

可以從分頁REST獲得所有價值嗎?例如,我有REST:從分頁獲得所有價值REST

@RequestMapping(value = "/divisions", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) 
@Timed 
public ResponseEntity<List<Division>> getAllDivisions(Pageable pageable) 
    throws URISyntaxException { 
    log.debug("REST request to get a page of Divisions"); 
    Page<Division> page = divisionRepository.findAll(pageable); 
    HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/divisions"); 
    return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK); 
} 

但在我的應用程序中,我需要獲取所有部門。我試過這樣的: http://localhost:9000/api/divisions?size=MAX但它不起作用。 我必須爲此創建新的REST嗎?

回答

1

那麼,很可能您所使用的數據庫和驅動程序會返回必須具有設定頁面大小的Division內容頁面。

在你的情況下,無論是用'MAX'值解析查詢參數'size',當size爲MAX時,你需要在循環中調用findAll方法,直到獲得所有頁面並在循環中保持將這些頁面內容添加到列表中,最後返回。

如何獲取所有頁面取決於您的驅動程序,例如在DynamoDB的情況下,有一種方法可以獲取頁面內容的最後一個ID並使用該ID獲取下一頁內容。沒有具體的細節,很難制定一個有效的方法。