问题标签 [link-header]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
468 浏览

javascript - 从使用 Link 标头的 API 获取所有页面的正确方法(使用 JavaScript/NodeJS)

我正在使用一个名为node-github的 NodeJS 模块,它是Github API的包装器,以获取有关某些用户的一些统计信息,例如他们的关注者:

显然,Github 将调用结果限制为最多 100 个(通过per_page参数),并利用Link 标头让您知道存在“下一页”结果。

我使用的模块提供了几种简单的方法来处理 Link 标头,因此您不需要解析它。基本上,您可以致电github.hasNextPage(res)github.getNextPage(res)res您从原始github.user.getFollowers()电话中收到的回复在哪里)

我正在寻找的是让我的函数返回由所有页面组成的所有结果的正确方法/范式。我涉足了一个递归函数,虽然它有效,但我不禁觉得可能有更好的方法。

如果标准流行起来,这个答案可以作为处理所有未来 Link 标头调用的好方法——不仅仅是 Github 的。

谢谢!

0 投票
1 回答
1355 浏览

javascript - 链接头的Node.js解析器?

我正在使用 Github API,它使用此处定义的链接标头进行分页。

目前我只是使用一些字符串操作来提取“下一个”URL,但我想知道是否有合适的模块用于此目的(我无法在“npm 搜索”中找到任何内容)。

谢谢!

0 投票
2 回答
1549 浏览

java - @InjectLink 值中的问号被编码为 %3F。如何防止这种情况?

我使用 Jersey 的 Link Headers 功能来创建 HTTP 链接头:

@InjectLink(value="users/?orgId=12345&page=0",rel="first")

除问号外效果很好 - 这在 %3F 中编码,生成的 URL 如下所示: http://localhost:8080/app/users/%3ForgId=12345&page=0

我有什么方法可以防止编码并保留问号字符吗?

0 投票
1 回答
154 浏览

rest - 将分页信息传递给 RestController 的最佳方法是什么?

几乎每个主要的云存储服务提供商,如 Google、Box、OneDrive 都使用请求参数将分页信息传递给 Web 服务并更新响应对象以进一步将下一页信息传递给客户端。

尽管拥有 Range 和 Link 等标准 HTTP 标头以及自定义标头,但人们倾向于使用查询参数来传达此类信息。

使用此类标准标头在客户端和服务器之间传达分页信息可保持标准响应的唯一性,因为我们不需要通过响应属性传递此类信息。

那么,在 REST API 中实现分页的最佳实践是什么?使用 HTTP 标头或使用查询参数???