【问题标题】:When to use query and params to get url data in express何时使用 query 和 params 在 express 中获取 url 数据
【发布时间】:2016-06-06 03:43:17
【问题描述】:
似乎/patient/123 和/patient?id=123 在我的应用程序的后端都可以正常工作。
我可以req.param.id 和req.query.id 一样。
但是我对何时使用感到困惑。哪些情况应该使用params,哪些情况应该使用query。因为在答案here 中,j_mcnally 只提到它们是可以互换的。
网址参数和网址路径在某种程度上可以互换。人们通常使用url路径来描述restful资源...
那么使用它们有哪些可能的优点和缺点。
【问题讨论】:
标签:
node.js
url
express
routes
url-parameters
【解决方案1】:
查询字符串通常是您正在运行的资源的修饰符,而路径应该提供足够的信息以让您的后端识别您正在请求的数据。
/patients/123 - 在这种情况下,patients 将是 命名空间,123 将是 标识符。您还可以使用以下方式扩展它:
/patients/123/profile 其中profile 将是预定义的数据集合的标识符。
查询字符串通常提供对资源呈现数据的内容和方式的细粒度控制,例如:
/patients/123?fields=firstname,lastname,age - 这是不言自明的,但基本上这种情况下的查询字符串会修改 what 返回的数据。
/patients?orderby=age&order=desc&fields=firstname,lastname&limit=25 - 此查询字符串会同时修改 和 what 数据是如何返回的,这就是 RESTful API 中查询字符串的目的。