表达不同的路径,但逻辑相同

问题描述

我有一条这样的路线

router.post('/policy',async (req,res,next) => {
    try {
        console.log(req.body);
    } catch (e) {
        console.log(e)
        res.sendStatus(500)
    }
})

我希望在调用/role时执行相同的逻辑,正确的方法是什么? (最好不要复制粘贴相同的代码)

我能想到这个逻辑

router.post('/policy',next) => {
    try {
        console.log(req.body);
    } catch (e) {
        console.log(e)
        res.sendStatus(500)
    }
})

router.post('/role',next) => {
    try {
        console.log(req.body);
    } catch (e) {
        console.log(e)
        res.sendStatus(500)
    }
})

为什么我为相同的逻辑命名不同的路线?

因为我希望后端可读性更好,并且特定于它正在执行的任务,即添加策略或角色

解决方法

这将同时适用于路由/policy/role

router.post(['/policy','/role'],async (req,res,next) => {
    try {
        console.log(req.body);
    } catch (e) {
        console.log(e)
        res.sendStatus(500)
    }
})

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...