In my API-application I have a fixed response for errors in different parts. As you can see res.status(400).json({"error": "Invalid input"})
is repeating a lot, in different files and modules actually.
I could create module-function invalidInput(res)
, which will eliminate duplication, but I really want this to be global part of res
object, like res.invalidInput()
.
How could I make it in 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
You can use your own custom middleware. Add this somewhere above your route handler:
router.use(function(req, res, next) {
res.invalidInput = function() {
return res.status(400).json({"error": "Invalid input"});
};
next();
});
and then you can do res.invalidInput()
in your route handlers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With