docs: function(controller, routeOptions) {
        return function(req, res, next) {
          var requiredParams = routeOptions.requiredParams || [];
          var ignoredParams = routeOptions.ignoredParams || [];
  
          // Omit disallowed params in body and query
          if (ignoredParams.length) {
            req.body = _.omit(req.body, ignoredParams);
            req.query = _.omit(req.query, ignoredParams);
          }
  
          // Reject request if required params are missing
          if (requiredParams.length) {
            // Find all missing parameters
            // If there are missing parameters,
            // respond with an error before routing
            var missingParams = router._buildMissingParams(req, requiredParams);
            if (missingParams.length) {
              return next(router._buildMissingParamsError(missingParams));
            }
          }
  
          // Execute the route for the request
          return routeOptions.action.call(controller, req, res, next);
        };
      }