gpt4 book ai didi

node.js - 我们将验证逻辑放在 NodeJs MVC 中的哪里?

转载 作者:行者123 更新时间:2023-12-02 21:22:05 25 4
gpt4 key购买 nike

我将nodeJs应用程序划分为MVC架构型号 Controller 服务路由器工具日志我的问题是我可以在服务层或 Controller 层中放置其余 api 的验证。我正在使用express 模块,并且我想使用express-validater 模块进行验证。哪一种方法更好?

最佳答案

更新2020年6月26日

您可以在架构中添加另一个文件夹(验证)。该文件夹应包含验证中间件

/validation/auth.js

exports.signup = [
check('email').isEmail(),
(req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
else next();
}
];

// more middlewares

现在,在您的 route 文件中,您可以在 Controller 层之前使用所需的验证中间件。

const express = require('express');
const { check } = require('express-validator/check');
const validate = require('../validation/auth');
const authController = require('../controllers/auth');

const router = express.Router();

router.post('/signup', validate.signup, authController.postSignup);

module.exports = router;

只有验证成功,您才能进入 Controller 层。

关于node.js - 我们将验证逻辑放在 NodeJs MVC 中的哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54160430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com