Skip to content

Commit 8e79818

Browse files
committed
fix: handle case injected services are null
1 parent eeaf80f commit 8e79818

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/State/Processor/RespondProcessor.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use ApiPlatform\Metadata\Operation\Factory\OperationMetadataFactoryInterface;
2424
use ApiPlatform\Metadata\Put;
2525
use ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface;
26+
use ApiPlatform\Metadata\Resource\ResourceMetadataCollection;
2627
use ApiPlatform\Metadata\ResourceClassResolverInterface;
2728
use ApiPlatform\Metadata\UrlGeneratorInterface;
2829
use ApiPlatform\Metadata\Util\ClassInfoTrait;
@@ -161,8 +162,8 @@ public function process(mixed $data, Operation $operation, array $uriVariables =
161162
private function getAllowedMethods(?string $resourceClass): string
162163
{
163164
$allowedMethods = self::DEFAULT_ALLOWED_METHOD;
164-
if (null !== $resourceClass && null !== $this->resourceClassResolver && null !== $this->resourceCollectionMetadataFactory && $this->resourceClassResolver->isResourceClass($resourceClass)) {
165-
$resourceMetadataCollection = $this->resourceCollectionMetadataFactory->create($resourceClass);
165+
if (null !== $resourceClass && null !== $this->resourceClassResolver && $this->resourceClassResolver->isResourceClass($resourceClass)) {
166+
$resourceMetadataCollection = $this->resourceCollectionMetadataFactory ? $this->resourceCollectionMetadataFactory->create($resourceClass) : new ResourceMetadataCollection($resourceClass);
166167
foreach ($resourceMetadataCollection as $resource) {
167168
foreach ($resource->getOperations() as $operation) {
168169
$allowedMethods[] = $operation->getMethod();

0 commit comments

Comments
 (0)