2
我想在數據表中顯示大量的數據。我使用Angular2作爲我的用戶界面,並使用Spring REST API作爲後端。我怎樣才能設計我的數據與分頁和過濾器,以平穩處理大量的數據。我將如何爲這個需求設計我的後端。Angular2 dataatable with high volume of data
我想在數據表中顯示大量的數據。我使用Angular2作爲我的用戶界面,並使用Spring REST API作爲後端。我怎樣才能設計我的數據與分頁和過濾器,以平穩處理大量的數據。我將如何爲這個需求設計我的後端。Angular2 dataatable with high volume of data
您可以實施分頁的REST服務。
假設我們想在數據庫中顯示數據庫中的所有用戶。
我們將有一個具有以下簽名的方法:
public ResponseEntity<PaginatedResponse<User>> getUsers(
@RequestParam("page") int page, @RequestParam("size") int size)
在這裏,我們要發送的頁面數量和每個頁面的請求的大小。
我們定義的響應:
public class PaginatedResponse<T> {
private List<T> responseList;
private int pageNumber;
private int pageSize;
private int totalPageNumber;
}
在響應中,我們將擁有的總頁數和當前頁面的大小,它的索引一起。
對於數據層,你可以使用Spring數據:
public interface UserRepository extends JpaRepository<User, Long>, QueryDslPredicateExecutor<User>
,並宣佈該方法提取分頁數據:
@Query("select u, from User u")
Page<User> findUsers(final Pageable pageable);
請注意,您可以添加參數來篩選你的春天數據查詢使用@Param
註釋。
至於角部位,你將不得不遍歷HTTP調用來獲取數據,並在每次檢查網頁索引範圍(即< totalPageNumber)
看一看這樣的:HTTP: //www.baeldung.com/rest-api-pagination-in-spring –