express URL参数化路由怎么解决
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容介绍了"express URL参数化路由怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年02月03日express URL参数化路由怎么解决
本篇内容介绍了"express URL参数化路由怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1. 背景
在最近的开发过程中发现有同事将express路由位置放得不合适, 导致我们自己的中间件在验证URL Parameter 的时候报错了, 经过插卡资料分享一个解决参数化路由的小技巧.
2. 不合适的路由定义
r.route('PUT', '/bind')r.route('PUT', '/unbind')r.route('PUT', '/:deviceId')
上面的路由中, express 的中间件 request 对象会认为 bind
和 unbind
也是 参数 deviceId
的值, 我们有一个中间件刚好限制所有的 URL Parameter 必须是 number 类型, 这样导致在请求 /bind 和 /unbind 的时候都会报告deviceId
类型错误, 需要说明的是这个错误是在调用了正确路由之后, 不影响使用, 但是后端会抛出异常也是一件不可接受的事情, 所有需要想办法解决. 因为获取 Parameter 是通过 express 标准接口获的, 所以在中间层做兼容行的类型检查不合适, 应该想办法让 express 知道我们的 bind
和 unbind
不是变量.
3. 解决方案
设置更准确的路由规则, 让 express 更准确的发现 URL 参数, 所以可以第三个路由定义修改如下:
r.route('PUT', '/:deviceId(\\d+)')
增加了(\\+d)
后, 路由匹配即帮助过滤了 bind
和 unbind
这样的值, 标准接口也不会返回非法的他们, 中间件也就不需要修改了.
"express URL参数化路由怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
路由
参数
中间件
合适
类型
内容
办法
接口
时候
更多
标准
知识
过程
错误
实用
学有所成
接下来
三个
中间层
事情
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京天下互联网络科技有限公司
数据库读写性能测试
怎么自己在电脑中建立数据库
北京廊坊管家婆网络技术
数据库连接了但是显示不出表
深圳易游网络技术公司
eplan项目数据库丢失
计算机数据库安全分析
思锐创途网络技术
汇总各院系总人数数据库
hive里删除数据库
战地无服务器性能警告
数据库怎么给表设置约束
我们所面临的网络安全问题
视频中心控制服务器
2021年中国网络安全
iis7服务器是什么
万达软件开发的啥项目
不同服务器的联盟和部落号
六安软件开发培训价格
大型数据库技术应用
无锡网络技术服务公司
中国移动网络技术员
火河科技服务器
上海商业软件开发价格合理
上海彦成互联网科技
我的世界手机正版如何开服务器
dell服务器虚拟
服务器网络存储
和谐校园网络安全黑板报