使用来自链接标头 RFC8288 的 RESTful 分页信息

Lio*_*hen 5 c# java pagination restful-url shopify-api

我正在与 Shopify 交互,他们使用 RESTful API。当我请求返回项目数组的资源时,它们使用 RFC8288 分页格式。

例如,https://example.com/api/inventory_levels.json ?limit=10 返回 10 个实体以及以下响应标头:

Link: <https://example.com/api/inventory_levels.json?limit=10&page_info=eyJs9pZHMiO>; 
rel="previous", <https://example.com/api/inventory_levels.json?limit=10&page_info=MiZHeyJs9pO>; rel="next"
Run Code Online (Sandbox Code Playgroud)

显然,如果我想从该资源中检索所有实体,我需要迭代“下一个”URL,直到不再返回“下一个”。但是我如何使用 JAVA 或 C# 代码解析这些信息呢?我可以使用正则表达式来<(?<next_url>.*)>; rel="next"从中检索“next_url”。但感觉就像是重新发明轮子,不够稳健。

如果这是一个定义明确的功能,那么难道不应该有一个现成的库/基础设施可以使用吗?我只是不想因为有一天格式显示不同(例如有一个额外的空格等)而感到惊讶,并且在遵守 RFC 定义的同时打破了我匆忙整理的 RegEx 解决方案。

欢迎提出 Java 或 C# 的建议。