如何在nodejs Express服务中的查询参数中发送整数

 姜漂亮真可爱w0 发布于 2023-02-13 10:39

我的盒子上运行了一个nodejs express web服务器.我想发送一个get请求以及查询参数.有没有办法找到每个查询参数的类型,如int,bool,string.我不知道查询参数键值.我在服务器端解释为键值对的json对象.

3 个回答
  • 你也可以试试

    var someProperty = (+req.query.someProperty);
    

    这对我有用!

    2023-02-13 10:41 回答
  • 你不能,因为HTTP没有类型的概念:一切都是字符串,包括查询字符串参数.

    您需要做的是使用该req.query对象并使用以下方法手动将字符串转换为整数parseInt():

    req.query.someProperty = parseInt(req.query.someProperty);
    

    2023-02-13 10:41 回答
  • 正如Paul Mougel所提到的,http查询和路径变量是字符串.但是,这些可以在处理之前被拦截和修改.我是这样做的:

    var convertMembershipTypeToInt = function (req, res, next) {
      req.params.membershipType = parseInt(req.params.membershipType);
      next();
    };
    

    之前:

    router.get('/api/:membershipType(\\d+)/', api.membershipType);
    

    后:

    router.get('/api/:membershipType(\\d+)/', convertMembershipTypeToInt, api.membershipType);
    

    在这种情况下,req.params.membershipType将从字符串转换为整数.请注意正则表达式,以确保只将整数传递给转换器.

    2023-02-13 10:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有