当前位置:  开发笔记 > 编程语言 > 正文

如何在Node.JS中向自定义函数添加响应对象

如何解决《如何在Node.JS中向自定义函数添加响应对象》经验,为你挑选了1个好方法。

在我的API应用程序中,我对不同部分的错误有一个固定的响应.正如您所看到的那样res.status(400).json({"error": "Invalid input"}),实际上在不同的文件和模块中重复了很多.

我可以创建模块函数invalidInput(res),这将消除重复,但我真的希望这是res对象的全局部分,如res.invalidInput().

我怎么能在JS/Node.JS中创建它?

router.get("/users", function(req, res) {
    // ...
    if (error) {
        return res.status(400).json({"error": "Invalid input"});
    }
});

router.get("/items", function(req, res) {
    // ...
    if (error) {
        return res.status(400).json({"error": "Invalid input"});
    }
});

// etc

saadq.. 17

您可以使用自己的自定义中间件.将此添加到路由处理程序上方的某处:

router.use(function(req, res, next) {
    res.invalidInput = function() {
        return res.status(400).json({"error": "Invalid input"});
    };
    next();
});

然后你可以res.invalidInput()在路由处理程序中执行.



1> saadq..:

您可以使用自己的自定义中间件.将此添加到路由处理程序上方的某处:

router.use(function(req, res, next) {
    res.invalidInput = function() {
        return res.status(400).json({"error": "Invalid input"});
    };
    next();
});

然后你可以res.invalidInput()在路由处理程序中执行.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有