Skip to content

Commit e6130cb

Browse files
authoredFeb 6, 2025
fix: missing filters on swagger ui entrypoint (api-platform#6950)
1 parent b5372dd commit e6130cb

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed
 

‎src/Laravel/State/SwaggerUiProvider.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ class: OpenApi::class,
8181
// save our operation
8282
$request->attributes->set('_api_operation', $swaggerUiOperation);
8383

84-
$data = $this->openApiFactory->__invoke(['base_url' => $request->getBaseUrl() ?: '/']);
84+
$data = $this->openApiFactory->__invoke([
85+
'base_url' => $request->getBaseUrl() ?: '/',
86+
'filter_tags' => $request->query->all('filter_tags'),
87+
]);
8588
$request->attributes->set('data', $data);
8689

8790
return $data;

‎src/Symfony/Bundle/SwaggerUi/SwaggerUiProvider.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ class: OpenApi::class,
7474

7575
// save our operation
7676
$request->attributes->set('_api_operation', $swaggerUiOperation);
77-
$data = $this->openApiFactory->__invoke(['base_url' => $request->getBaseUrl() ?: '/']);
77+
$data = $this->openApiFactory->__invoke([
78+
'base_url' => $request->getBaseUrl() ?: '/',
79+
'filter_tags' => $request->query->all('filter_tags'),
80+
]);
7881
$request->attributes->set('data', $data);
7982

8083
return $data;

‎tests/Symfony/Bundle/SwaggerUi/SwaggerUiProviderTest.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
use ApiPlatform\State\ProviderInterface;
2323
use ApiPlatform\Symfony\Bundle\SwaggerUi\SwaggerUiProvider;
2424
use PHPUnit\Framework\TestCase;
25+
use Symfony\Component\HttpFoundation\InputBag;
2526
use Symfony\Component\HttpFoundation\ParameterBag;
2627
use Symfony\Component\HttpFoundation\Request;
2728

@@ -32,11 +33,12 @@ public function testProvideWithBaseUrl(): void
3233
$openapiFactory = $this->createMock(OpenApiFactoryInterface::class);
3334
$request = $this->createStub(Request::class);
3435
$request->attributes = new ParameterBag();
36+
$request->query = new InputBag();
3537
$request->method('getRequestFormat')->willReturn('html');
3638
$request->method('getBaseUrl')->willReturn('test');
3739
$decorated = $this->createStub(ProviderInterface::class);
3840
$provider = new SwaggerUiProvider($decorated, $openapiFactory);
39-
$openapiFactory->expects($this->once())->method('__invoke')->with(['base_url' => 'test'])->willReturn(new OpenApi(new Info('test', '1'), [], new Paths()));
41+
$openapiFactory->expects($this->once())->method('__invoke')->with(['base_url' => 'test', 'filter_tags' => []])->willReturn(new OpenApi(new Info('test', '1'), [], new Paths()));
4042
$provider->provide(new Get(class: Documentation::class), [], ['request' => $request]);
4143
}
4244
}

0 commit comments

Comments
 (0)
Please sign in to comment.