2016-10-29 5 views
1

ページ分割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

まあ、おそらく、使用しているDBとドライバは、設定されたページサイズを持たなければならないDivisionコンテンツのページを返します。

あなたのケースでは、サイズがMAXの場合にクエリパラメータ 'size'を解析するか、サイズがMAXである場合にループ全体でfindAllメソッドを呼び出す必要がありますこれらのページのコンテンツをリストに追加します。リストには最終的にそれが返されます。

どのようにすべてのページを取得するかは、ドライバによって異なります。たとえば、DynamoDBの場合、ページコンテンツの最後のIDを取得し、そのIDを使用して次のページコンテンツを取得する方法があります。具体的な記述がなければ、効率的な方法を示すことは困難です。

関連する問題