是否适合在node.js/express中使用POST请求,当尝试基于一个过滤对象从mysql数据库中获取数据时,可能看起来像这样:
filter = {
createdBefore:"2022-12-10",
maximumSize:"10",
minimumSize:"2",
contains:[{productId:"1", quantity:"100"}, {productId:"2", quantity:"200"}, {productId:"3", quantity:"300"}]
}
现在这只是一个虚拟数据,它没有实际用途-我提供它是为了帮助可视化我所说的"过滤对象"的含义。所以,在这种情况下是可以使用POST方法并将其传递到body内部,还是应该使用带有查询参数的GET方法。
FromW3C文档:
使用GET if:交互更像是一个问题(即,它是一个安全的操作,如查询、读取操作或查找)。使用POST如果:交互作用更像是一个命令,或者交互以用户可以感知的方式(例如,对服务的订阅)改变资源的状态用户应该对交互的结果负责。
整个文档是">uri,可寻址性和HTTP GET和POST的使用",可以在这里找到
p。附注:GET请求可以有它们的body