因此,req.query返回查询参数的哈希值。更好的是,如果一个参数实际上是一个 json 对象,那么它会将其解析为相应的 json,这很棒。
但是,如何自定义此解析?例如,我希望将某个值解析为数字,而不是字符串。当然,我可以事后进行并修改返回的对象。但是,我很想知道这个过程是否可以定制。
编辑
例如,考虑以下请求:
GET http://localhost:8000/admin/api/inventory?rowsPerPage=25&page=0&q%5Bqty%5D%5B%24lt%5D=100
解码它我们得到:
GET http://localhost:8000/admin/api/inventory?rowsPerPage=25&page=0&q[qty][$lt]=100
现在,express 将这些查询参数转换为
req.query = {rowsPerPage: "25", page: "0", q: {qty: {$lt: "100"}}
我的问题是“25”、“0”和“100”——我希望它们是数字。因此,我可以更改req.query
事后或干扰解析过程。我想学后者。