【发布时间】:2017-08-12 14:41:36
【问题描述】:
我想获得第一条20 记录,我的响应时间为200
一段时间后(通过调用相同的服务)我想要另一个 20 记录。
每次点击我都想获得20 记录。我该如何实现?
我使用 Spring 、hibernate 和 angular 作为前端。
请提供解决方案。
提前致谢。
【问题讨论】:
标签: spring web-services rest response hypermedia
我想获得第一条20 记录,我的响应时间为200
一段时间后(通过调用相同的服务)我想要另一个 20 记录。
每次点击我都想获得20 记录。我该如何实现?
我使用 Spring 、hibernate 和 angular 作为前端。
请提供解决方案。
提前致谢。
【问题讨论】:
标签: spring web-services rest response hypermedia
使用spring-data-rest,您应该能够以 RESTful 方式向用户公开您的休眠实体。使用自动生成的端点,您应该能够执行 POST/PUT/GET/DELETE。当您公开实体时,默认情况下您可以使用分页。
通过使用 spring-data-rest 您的场景可以通过在 (GET) REST 响应中提供页面大小来解决
示例:
例如,假设您的数据库中有 200 条用户记录,并且您希望服务器每个请求有 20 条记录,那么 GET REST URL 将如下所示:
http://localhost:8080/users?page=1&size=5
有2个关键信息需要注意:
page - the page number to access (0 indexed, defaults to 0).
size - the page size requested (defaults to 20).
所以要获得前 20 条记录,用户将发出如下请求: http://localhost:8080/users 或 http://localhost:8080/users?page=0&size=20
要访问接下来的 20 个项目,只需更改页码:http://localhost:8080/users?page=1
因为默认大小是 20,在你的情况下你可以省略它;但如果您决定修改大小,例如 25 或 30,那么您应该能够将其作为大小参数的一部分提供。
【讨论】: