renderOpenApi = $renderOpenApi; } public function __invoke(Request $request, $area = 'default') { try { $response = new Response( $this->renderOpenApi->render(RenderOpenApi::YAML, $area, [ 'server_url' => '' !== $request->getBaseUrl() ? $request->getSchemeAndHttpHost().$request->getBaseUrl() : null, ]), Response::HTTP_OK, ['Content-Type' => 'text/x-yaml'] ); return $response->setCharset('UTF-8'); } catch (InvalidArgumentException $e) { throw new BadRequestHttpException(sprintf('Area "%s" is not supported as it isn\'t defined in config.', $area)); } } }