Type Checking and Validating the Input Sent to an Endpoint
While type checking and validation are not strictly required for the creation of an API, using them can cut down on debugging time and help to avoid bugs. Having a guaranteed input for an endpoint means that code can be written with a focus on returning the desired result without considering the many edge cases that can be created by input outside that which is expected.
Since this task is so common with the creation of APIs, a library has been created to make verifying the input of Express endpoints easy. With the express-validator middleware, we can simply pass the input requirements to our endpoint as an argument. For example, the requirements described by the JSON object returned in Exercise 18 for our lightbulb's fade
action can be represented with the following array:
check('level').isNumeric().isLength({ min: 0, max: 100 }), check('duration').isNumeric().isLength...