带参数的 HTTP GET 请求的最佳实践?

Best practice for HTTP GET request with parameters?

提问人:Josh Silveous 提问时间:11/15/2023 最后编辑:Josh Silveous 更新时间:11/15/2023 访问量:13

问:

我正在为一个个人项目构建一个 REST API,我的一个处理程序旨在从大型 SQLite 表中检索一组数据。前端被划分为多个页面,显示有限的结果,用户可以切换这些页面来筛选数据。
每次用户切换页面(或更改排序过滤器)时,都会执行一个新的 HTTPRequest。

HTTP 请求包含以下用于优化结果集的参数:

{
  resPerPage,       // results per page (10, 20, 30, etc.)
  thisPage,         // user's current page
  orderBy,          // column to order data with
  orderByDirection  // ASC or DESC
}

现在,这些数据都包含在 POST HTTPRequest 的正文中。
我想将其切换到 GET 请求以遵循约定。但是,根据 HTTP 规范,GET 请求不应包含正文。

我知道如何使用标题来覆盖这些数据,但我怀疑这是否是解决这个问题的“最佳实践”解决方案。


以下是我的想法:
A. 保留 POST 请求类型并将其保留在正文中。
B.B. 切换到 GET,并使每个参数都具有自己的唯一标头。
C.C. 切换到 GET,并创建一个包含带有参数的 JSON 对象的标头。
D.D. 切换到 GET,并使用查询参数传递数据。

我应该遵循哪个想法来遵循最佳实践?还是完全别的什么?
我倾向于 Idea D,因为这里没有一个数据是敏感的。
此 API 仅供我的网站使用。没有其他人会与它交互,所以这并不重要。只是想养成良好的习惯。

HTTP-HEADERS WEB 标准

评论


答: 暂无答案