Skip to content

Commit a1dd0b5

Browse files
authoredAug 28, 2024
fix(laravel): entrypoint with doc formats (#6552)
1 parent 5386488 commit a1dd0b5

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed
 

‎src/Laravel/ApiPlatformProvider.php

+7-2
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
use ApiPlatform\Laravel\Security\ResourceAccessChecker;
103103
use ApiPlatform\Laravel\State\AccessCheckerProvider;
104104
use ApiPlatform\Laravel\State\SwaggerUiProcessor;
105+
use ApiPlatform\Laravel\State\SwaggerUiProvider;
105106
use ApiPlatform\Laravel\State\ValidateProvider;
106107
use ApiPlatform\Metadata\Exception\NotExposedHttpException;
107108
use ApiPlatform\Metadata\Factory\Property\ClassLevelAttributePropertyNameCollectionFactory;
@@ -395,8 +396,12 @@ public function register(): void
395396
return new ReadProvider($app->make(CallableProvider::class));
396397
});
397398

399+
$this->app->singleton(SwaggerUiProvider::class, function (Application $app) {
400+
return new SwaggerUiProvider($app->make(ReadProvider::class), $app->make(OpenApiFactoryInterface::class));
401+
});
402+
398403
$this->app->singleton(ValidateProvider::class, function (Application $app) {
399-
return new ValidateProvider($app->make(ReadProvider::class), $app);
404+
return new ValidateProvider($app->make(SwaggerUiProvider::class), $app);
400405
});
401406

402407
$this->app->singleton(JsonApiProvider::class, function (Application $app) use ($config) {
@@ -587,7 +592,7 @@ public function register(): void
587592
});
588593

589594
$this->app->singleton(EntrypointAction::class, function (Application $app) use ($config) {
590-
return new EntrypointAction($app->make(ResourceNameCollectionFactoryInterface::class), $app->make(ProviderInterface::class), $app->make(ProcessorInterface::class), $config->get('api-platform.formats'));
595+
return new EntrypointAction($app->make(ResourceNameCollectionFactoryInterface::class), $app->make(ProviderInterface::class), $app->make(ProcessorInterface::class), $config->get('api-platform.docs_formats'));
591596
});
592597

593598
$this->app->singleton(Pagination::class, function () use ($config) {

‎src/Laravel/Tests/JsonApiTest.php

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ protected function defineEnvironment($app): void
3535
{
3636
tap($app['config'], function (Repository $config): void {
3737
$config->set('api-platform.formats', ['jsonapi' => ['application/vnd.api+json']]);
38+
$config->set('api-platform.docs_formats', ['jsonapi' => ['application/vnd.api+json']]);
3839
});
3940
}
4041

0 commit comments

Comments
 (0)