Skip to content

Commit ff89c9b

Browse files
committed
[Swagger] Added support for customizing the Definition key
1 parent aa3ff0e commit ff89c9b

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Swagger/Serializer/DocumentationNormalizer.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ private function updateGetOperation(\ArrayObject $pathOperation, array $mimeType
275275
$serializerContext = $this->getSerializerContext($operationType, false, $resourceMetadata, $operationName);
276276
$responseDefinitionKey = $this->getDefinition($definitions, $resourceMetadata, $resourceClass, $serializerContext);
277277

278+
278279
$pathOperation['produces'] ?? $pathOperation['produces'] = $mimeTypes;
279280

280281
if (OperationType::COLLECTION === $operationType) {
@@ -442,7 +443,11 @@ private function updateDeleteOperation(\ArrayObject $pathOperation, string $reso
442443
*/
443444
private function getDefinition(\ArrayObject $definitions, ResourceMetadata $resourceMetadata, string $resourceClass, array $serializerContext = null): string
444445
{
445-
$definitionKey = $this->getDefinitionKey($resourceMetadata->getShortName(), (array) ($serializerContext[AbstractNormalizer::GROUPS] ?? []));
446+
if (isset($serializerContext['definition_name'])) {
447+
$definitionKey = sprintf('%s-%s', $resourceMetadata->getShortName(), $serializerContext['definition_name']);
448+
} else {
449+
$definitionKey = $this->getDefinitionKey($resourceMetadata->getShortName(), (array) ($serializerContext[AbstractNormalizer::GROUPS] ?? []));
450+
}
446451

447452
if (!isset($definitions[$definitionKey])) {
448453
$definitions[$definitionKey] = []; // Initialize first to prevent infinite loop

0 commit comments

Comments
 (0)