我使用的是spring boot 2,我喜欢它的开箱即用特性,但现在我被要求将分页结果重新格式化为不同的结构。我想继续使用控制器中的可分页和页面功能。我在找合适的方法来做这件事。
@GetMapping(name = "customers", produces = MediaType.APPLICATION_JSON_VALUE)
Page<Customer> showCustomers(Pageable pageable) {
Page<Customer> page = customerRepo.findCustomers(pageable);
return page;
}
回购协议
public interface CustomerRepository extends JpaRepository<Customer, Long> {
}
{
"content": [
],
"pageable": {
"sort": {
"sorted": false,
"unsorted": true
},
"offset": 0,
"pageSize": 20,
"pageNumber": 0,
"unpaged": false,
"paged": true
},
"last": false,
"totalPages": 62835,
"totalElements": 1256684,
"size": 20,
"number": 0,
"numberOfElements": 20,
"sort": {
"sorted": false,
"unsorted": true
},
"first": true
}
这是我想要的格式
{
"@id": "/users?page=2&page_size=4",
"@type": "Collection",
"@links": {
"first": {
"href": "/users?page=1&page_size=4"
},
"next": {
"href": "/users?page=3&page_size=4"
},
"previous": {
"href": "/users?page=1&page_size=4"
},
"last": {
"href": "/users?page=5&page_size=4"
}
},
"items": [
Content...
],
"total_items": 20
}