Api URL查询参数

Api URL查询参数,api,rest,Api,Rest,我是API新手,我知道rest API中的主要路径类型:path如www.example.com/cars和query参数如www.example.com/cars?color=blue 我刚刚访问了一个电子商务网站,我对当前的路径感到困惑。我选择了类别iphone-8,得到了url:https://www.example.fr/iphone-8.html 在同一页上,我过滤了所有价格介于250和300欧元之间的手机。这是新的url:https://www.example.fr/iphone-8

我是API新手,我知道rest API中的主要路径类型:
path
www.example.com/cars
query
参数如
www.example.com/cars?color=blue

我刚刚访问了一个电子商务网站,我对当前的路径感到困惑。我选择了类别
iphone-8
,得到了url:
https://www.example.fr/iphone-8.html

在同一页上,我过滤了所有价格介于
250
300
欧元之间的手机。这是新的url:
https://www.example.fr/iphone-8.html#price=250&price=300

这个url是否意味着由于
#
而只在html上应用过滤器,因此没有用于过滤的api调用

这个url是否意味着由于#而只在html上应用过滤器,因此没有用于过滤的api调用

不,不是这样的

尝试的实验是将原始页面加载到浏览器中,打开用于监视网络流量的开发人员工具,然后执行搜索

您可能会发现,当您操作网页上的过滤器控件时,真正发生的事情是java脚本代码正在运行,并调用从某个后端端点获取数据,然后在客户端上重新呈现网页。正在更新片段,这样,如果要将链接添加到书签,或将其复制到浏览器中的另一个选项卡,底层javascript可以复制“相同”的结果(通过从片段中获取搜索参数并重复搜索)

应该可以直接从浏览器本身重复这些相同的调用(当然,您不一定会得到HTML呈现,但您可能能够以自己的本机表示形式(可能是应用程序/json)查看过滤结果)


使用frag而不是查询参数获取价格有什么好处

不是的一部分,而查询部分是

也就是说,查询部分仍然是主资源标识符的一部分,并且是发送到服务器的请求行的一部分

但片段用于标识辅助资源;嵌入在某些主资源中的资源

考虑:

这标识了包含在主资源(RFC 3986的HTML表示)中的辅助资源(特别是第3.5节)然后使用片段标识符和HTML处理规则来发现文档中的适当元素


片段部分严格地说是客户端的问题。

这是
片段标识符
。有一个很好的解释,请检查非常有趣。因此这意味着过滤器是在客户端应用的,我们什么时候应该通过查询(例如电子商务网站)在客户端而不是服务器端应用过滤器?@Pierre56不一定。更可能的情况是,片段在客户端被解释为GET请求,通过在后端进行过滤的REST API通过AJAX填充一个表。使用frag而不是price的查询参数有什么好处?