我正在创建一个用于生产的应用程序,并希望使用一个 switch 语句组合多个路由。我目前在开发中使用它并且效果很好,但是我以前没有见过这种方法,并且想知道是否有原因。使用这种方法有什么问题吗?如果是这样,真的要在答案中寻找原因。
这是我想做的,而不是创建多条路线。
router.post('/save', auth, async (req, res)=>{
switch(req.body.action) {
case 'user':
result = await asyncSaveUser(req.body.data);
break;
case 'order':
result = await asyncSaveOrder(req.body.data);
break;
default:
result = {success:false, data: 'not valid action'};
break;
}
return res.status(200).json(result);
})
在 API 中,我会创建一个动作。
url: {baseUrl}+'/save'
body: {
"action":"user",
"data": {"fn": John, "ln": Doe}
}