Refactor the Controller
Learn and practice refactoring our controller to remove repeated blocks of code.
We'll cover the following...
We'll cover the following...
Refactor the recipes controller
Currently, the get(), update(), and remove() route handlers repeat the following chunk of logic to check that a recipe exists in the database and to throw an error if the recipe doesn’t exist:
const recipe = await service.get(req.params.id);if (recipe === undefined) {const err = new Error("Recipe not found");err.statusCode = 404;throw err;}
To avoid duplicating the logic across controllers, we can move the validation logic into a middleware ...