# req.query

此属性是一个对象,其中包含路由中每个查询字符串参数的属性。

# 概要

req.query

# 描述

此属性是一个对象,其中包含路由中每个查询字符串参数的属性。当 查询解析器 设置为禁用时,它是一个空对象 {},否则它是配置的查询解析器的结果。

由于 req.query 的形状基于用户控制的输入,因此该对象中的所有属性和值都是不可信的,应该在信任之前进行验证。例如,req.query.foo.toString() 可能以多种方式失败,例如 foo 可能不存在或可能不是字符串,toString 可能不是函数,而是字符串或其他用户输入。

可以使用 查询解析器应用设置 配置此属性的值,以按照您的应用程序需要的方式工作。一个非常流行的查询字符串解析器是 qs 模块,这是默认使用的。qs 模块可以通过许多设置进行配置,并且可能需要使用与默认设置不同的设置来填充 req.query

const qs = require('qs')
app.setting('query parser',
  (str) => qs.parse(str, { /* custom options */ }))

查看 查询解析器应用设置 文档以了解其他自定义选项。

Last Updated: 3/22/2023, 7:27:28 PM