跳到主要内容
CNode

egg,请求 ?page=1&pageSize=10,ctx.request.query打印出page为字符串格式的

问答
JJingMo发布于 6 年前最后回复 6 年前
756220

需要参数解析成数字格式的,是否哪个插件没开启,谢谢

查看回复

回复 (7)

K
KevinHades#16 年前

egg默认开启body-parser的

J
JingMo#26 年前
引用 KevinHadesegg默认开启body parser的

@KevinHades 是的,可是很奇怪,解析成字符串了

K
KevinHades#36 年前

等一下,你是说page是字符串格式的?这个参数的值是字符串格式的?那没问题呀,query参数的值本来就是字符串类型的。

H
hyj1991#46 年前

URL 的 query 参数本来就是字符串,你可以放在 body 里上传就是原来的类型了

X
xiedacon#56 年前

用 JoI 校验一下呗

W
waitingsong#66 年前

url里面传值全部是字符串。可以后端手动根据参数名(page)转换下类型。或者post方法传json

X
xuxu7#76 年前

配置 egg-validate 插件的 convertType ,会改变 query 参数的类型:

const rule = {
  page: {
    type: 'int?',
    convertType: 'int',
    min: 1,
  },
  pageSize: {
    type: 'int?',
    convertType: 'int',
    min: 1,
  },
};
this.ctx.validate(rule, this.ctx.query);

参与回复

登录后即可参与回复。登录