超媒体工作流中的列表导航、表单提交与状态监控
1. 标准列表导航
在处理列表数据时,起初当列表较小时,支持列表操作看似简单,但随着列表规模的增大,难度会迅速提升。因此,从一开始就假设要支持包含数千个成员的列表是一个明智的策略。
1.1 分页控制
通常,我们希望为 API 消费者提供元数据控制,使其能够控制每页的数据量,例如设置为 50 或 100 条记录。可以利用客户端偏好来处理这个需求,同时一定要设置一个默认的页面大小,一般来说,50 是一个不错的起始值。
1.2 资源返回
在返回列表中的资源时,无需包含完整的资源信息。通常,只返回基本信息,如摘要数据、常用字段以及指向详细视图的链接(通过选择链接)是个好主意。
1.3 列表生成
生成列表资源可能会耗费大量资源。例如,列出网络上连接到服务器的所有计算机可能是一个漫长的过程。在这种情况下,可以计算部分列表,即足以完成单页显示的内容,只有当 API 消费者请求下一页时,才计算后续页面。
1.4 直接跳页的问题
支持 API 消费者直接“跳转到第 11 页”的导航功能看似不错,但这可能是一个代价高昂的请求。因为这需要预先知道完整列表的内容。对于动态变化的列表,如实时聊天室中的用户列表,成员可能会频繁变动;即使列表是固定的,但如果非常长(包含数千个项目),跳转到第 133 页可能会消耗大量的运行时资源。
1.5 搜索增强
可以通过添加搜索功能来增强列表导航支持。但在过滤后的数据列表中进行导航可能会很困难。如果提供此选项,可以在内部创建过滤集合的单个快照,将其存
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



