在 GET 请求中发送查询参数的最佳实践?

Jus*_*lap 1 api rest http backend node.js

我正在为我的应用程序编写一个后端,它将接受来自前端的查询参数,然后根据这些参数查询我的数据库。这对我来说听起来应该是一个 GET 请求,但由于我有很多参数要传递,其中一些是可选的,我认为最容易执行 POST 请求并在请求中发送搜索参数身体。我知道我可以将我的参数转换为查询字符串并将其附加到我的 GET 请求中,但必须有更好的方法,因为我将传递不同的数据类型,并且最终不得不在后端解析参数,如果我这样做。

Ale*_*rev 6

这在很大程度上取决于上下文,但我更喜欢在您的场景中使用 GET 请求。

我应该使用什么请求方法

根据广泛接受的约定,一种使用:

  • GET 读取现有数据
  • POST 创建新的东西

更多细节可以在这里找到:https : //www.restapitutorial.com/lessons/httpmethods.html

我如何传递参数

关于传递参数的方式,这是一个不太明显的事情。除非请求参数中有敏感内容,否则将它们作为 URL 的一部分发送是完全可以的。

参数可以是路径的一部分:

myapi/customers/123
Run Code Online (Sandbox Code Playgroud)

或查询字符串:

myapi?customer=123
Run Code Online (Sandbox Code Playgroud)

这两种选择都是可行的,我认为选择在很大程度上取决于应用程序域模型。一种流行的经验法则是:

  • 对强制参数使用“参数作为路径的一部分”
  • 对可选参数使用“参数作为查询字符串”。