getOperations($api, $route) as $operation) { $operation->merge(['schemes' => $route->getSchemes()]); $requirements = $route->getRequirements(); $compiledRoute = $route->compile(); // Don't include host requirements foreach ($compiledRoute->getPathVariables() as $pathVariable) { if ('_format' === $pathVariable) { continue; } $parameter = $operation->getParameters()->get($pathVariable, 'path'); $parameter->setRequired(true); if (null === $parameter->getType()) { $parameter->setType('string'); } if (isset($requirements[$pathVariable])) { $parameter->setPattern($requirements[$pathVariable]); } } } } }