docs: function listItemsController(path) {
      restController.call(this, 'get', path);
  
      var ctrl = this;
  
      /**
       * Ignore empty by default on list controller
       * because parameters are most likly for search
       */
      ctrl.ignoreEmptyParams = true;
  
      /**
       * Method to paginate a mongoose query
       * @param {Integer} total
       * @param {Query} query
       * @param {Integer} [itemsPerPage=50]
       *
       * @return {Query}
       */
      this.paginate = function(total, query, itemsPerPage) {
  
  
          var paginate = require('node-paginate-anything');
          var p = paginate(ctrl.req, ctrl.res, total, itemsPerPage || 50);
  
          if (!p) {
              return query;
          }
  
          query.limit(p.limit);
          query.skip(p.skip);
  
          return query;
      };
  
  
      /**
       * List controller use this method to output a service as a rest
       * service
       *
       * This default method is paginated
       *
       * @param {apiService} service
       *
       * @return {Promise}
       */
      this.jsonService = function(service) {
  
          var params = ctrl.getServiceParameters(ctrl.req);
  
          var promise = service.getResultPromise(params, ctrl.paginate);
  
          ctrl.outputJsonFromPromise(service, promise);
  
          return promise;
      };
  }