-
-
Notifications
You must be signed in to change notification settings - Fork 955
Closed
Description
API Platform version(s) affected:4.0.17
Description
When a filter is added to either an ApiResource, or a Operation such as GetCollection, the Swagger documentation fails on the following error:
2025-02-14 15:04:22 NOTICE: PHP message: PHP Fatal error: Uncaught Error: Call to a member function has() on null in /var/www/html/vendor/api-platform/openapi/Factory/OpenApiFactory.php:584
2025-02-14 15:04:22 Stack trace:
2025-02-14 15:04:22 #0 /var/www/html/vendor/api-platform/openapi/Factory/OpenApiFactory.php(254): ApiPlatform\OpenApi\Factory\OpenApiFactory->getFiltersParameters(Object(ApiPlatform\Metadata\GetCollection))
2025-02-14 15:04:22 #1 /var/www/html/vendor/api-platform/openapi/Factory/OpenApiFactory.php(110): ApiPlatform\OpenApi\Factory\OpenApiFactory->collectPaths(Object(App\Api\Metadata\CustomerApiResource), Object(ApiPlatform\Metadata\Resource\ResourceMetadataCollection), Object(ApiPlatform\OpenApi\Model\Paths), Object(ArrayObject), Object(ArrayObject), Array)
2025-02-14 15:04:22 #2 /var/www/html/vendor/api-platform/laravel/State/SwaggerUiProvider.php(84): ApiPlatform\OpenApi\Factory\OpenApiFactory->__invoke(Array)
2025-02-14 15:04:22 #3 /var/www/html/vendor/api-platform/laravel/State/ValidateProvider.php(43): ApiPlatform\Laravel\State\SwaggerUiProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #4 /var/www/html/vendor/api-platform/state/Provider/DeserializeProvider.php(56): ApiPlatform\Laravel\State\ValidateProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #5 /var/www/html/vendor/api-platform/laravel/JsonApi/State/JsonApiProvider.php(36): ApiPlatform\State\Provider\DeserializeProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #6 /var/www/html/vendor/api-platform/state/Provider/SecurityParameterProvider.php(39): ApiPlatform\Laravel\JsonApi\State\JsonApiProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #7 /var/www/html/vendor/api-platform/laravel/State/ParameterValidatorProvider.php(87): ApiPlatform\State\Provider\SecurityParameterProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #8 /var/www/html/vendor/api-platform/state/Provider/ParameterProvider.php(103): ApiPlatform\Laravel\State\ParameterValidatorProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #9 /var/www/html/vendor/api-platform/laravel/State/AccessCheckerProvider.php(45): ApiPlatform\State\Provider\ParameterProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #10 /var/www/html/vendor/api-platform/state/Provider/ContentNegotiationProvider.php(51): ApiPlatform\Laravel\State\AccessCheckerProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #11 /var/www/html/vendor/api-platform/laravel/Controller/ApiPlatformController.php(79): ApiPlatform\State\Provider\ContentNegotiationProvider->provide(Object(ApiPlatform\Metadata\Error), Array, Array)
2025-02-14 15:04:22 #12 /var/www/html/vendor/api-platform/laravel/Exception/ErrorHandler.php(161): ApiPlatform\Laravel\Controller\ApiPlatformController->__invoke(Object(Illuminate\Http\Request))
2025-02-14 15:04:22 #13 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(685): ApiPlatform\Laravel\Exception\ErrorHandler->ApiPlatform\Laravel\Exception\{closure}(Object(Symfony\Component\ErrorHandler\Error\FatalError), Object(Illuminate\Http\Request))
2025-02-14 15:04:22 #14 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(586): Illuminate\Foundation\Exceptions\Handler->renderViaCallbacks(Object(Illuminate\Http\Request), Object(Symfony\Component\ErrorHandler\Error\FatalError))
2025-02-14 15:04:22 #15 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(225): Illuminate\Foundation\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\ErrorHandler\Error\FatalError))
2025-02-14 15:04:22 #16 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(202): Illuminate\Foundation\Bootstrap\HandleExceptions->renderHttpResponse(Object(Symfony\Component\ErrorHandler\Error\FatalError))
2025-02-14 15:04:22 #17 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(238): Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Symfony\Component\ErrorHandler\Error\FatalError))
2025-02-14 15:04:22 #18 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(290): Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
2025-02-14 15:04:22 #19 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}()
2025-02-14 15:04:22 #20 {main}
2025-02-14 15:04:22 thrown in /var/www/html/vendor/api-platform/openapi/Factory/OpenApiFactory.php on line 584
Furthermore, hitting the endpoint not via the documentation, i.e. using application/json, doesn't trigger the error, but it also does not fire the Filter as is expected.
Metadata
Metadata
Assignees
Labels
No labels