diff --git a/src/JsonSchema/SchemaFactory.php b/src/JsonSchema/SchemaFactory.php index 097eaddd4b..ea25a99c98 100644 --- a/src/JsonSchema/SchemaFactory.php +++ b/src/JsonSchema/SchemaFactory.php @@ -74,6 +74,14 @@ public function buildSchema(string $className, string $format = 'json', string $ return $schema; } + if ('input' === $type && !($operation?->canDeserialize() ?? true)) { + return $schema; + } + + if ('output' === $type && !($operation?->canSerialize() ?? true)) { + return $schema; + } + $validationGroups = $operation ? $this->getValidationGroups($operation) : []; $version = $schema->getVersion(); $definitionName = $this->definitionNameFactory->create($className, $format, $inputOrOutputClass, $operation, $serializerContext);