/**
  * Entry function.
  * @param $controller
  */
 public static function execute($controller)
 {
     $serialiser = new ApiRequestSerialiser();
     $serialiser->parseRequestCase($controller);
     if (!$serialiser->parseRequestParams($controller)) {
         return;
     }
     if (!$serialiser->parseRequestVars($controller)) {
         return;
     }
     $serialiser->parseRequestFields($controller);
     $serialiser->parseRequestFormat($controller);
     $serialiser->parseRequestTest($controller);
     // Filters, sorting and pagination only apply if we're returning more than one record
     if (isset($serialiser->responses->{"200"}->schema->type) && $serialiser->responses->{"200"}->schema->type === 'array') {
         $serialiser->parseRequestSort($controller);
         $serialiser->parseRequestLimit($controller);
     }
 }