我目前的项目是使用Node作为前端和后端以及ExpressJS作为中间件。
我有一个需求,我需要一个特性切换实现来在我的应用程序中引入一些新特性。我使用url参数,例如&featureToggle=true来确定执行代码是新的还是现有的。
现在,我有了前端和后端的部件,这两个部分都需要根据功能切换进行更改。在后端,我可以分别获取查询对象并提取url param,同样也可以提取前端模块中的url param。
是否有一种方法可以使用Express来拦截查询param,根据特性切换将变量值设置为true或false,并且可以跨前端模块和后端模块使用?
发布于 2022-04-09 04:57:08
使用express,您可以使用req.query来收集请求中发送的查询字符串。你可以这样通过它:
localhost:9000/path?&featureToggle=true?很重要,它告诉express您正在创建一个查询。
如果然后将其放入变量中:
const query = req.query您将得到以下输出:
{ featureToggle: 'true' }因此,正如您所看到的,它正在返回一个对象。您可以这样检查:
if(req.query.featureToggle === 'true'){
runSomeCode();
};或者在您的情况下,如果您想运行某种中间件:
router.get('/', (req, res, next) => {
if(req.query.featureToggle === 'true'){
return next(toggle)
}
};https://stackoverflow.com/questions/71795011
复制相似问题