在我的节点应用程序中,我具有以下快速路由。
router.post('/register', asyncMiddleware(async (req, res) => {
const { error } = validateUser(req.body);
if (error)
return res.status(400).send(error.details[0].message);
const { token, user } = await userService.createNewUser(req.body);
res.header('x-authorization-token', token).send(_.pick(user, ['_id', 'name', 'email']));
}));
处理这样的验证结果是否是一个好习惯?还是应该将其放入中间件并使用?如果是这样,我如何将其放入中间件并使用它?
答案 0 :(得分:0)
处理这样的验证结果是一种好习惯吗?
答案是取决于。
如果这是一个小项目,或者只有几个API,或者您只需要对此路线进行验证,那么您可能可以进行这样的验证。
但是,在较大的项目中,您绝对应该有一个单独的验证中间件。
我个人喜欢将express-validation与Joi一起使用进行验证。
Joi非常适合创建灵活而强大的模式来验证传入的请求。快速验证会照顾到适当的身份和身体。
如果要查看示例,请查看我的express-api-structure。