-
-
Notifications
You must be signed in to change notification settings - Fork 308
Open
Description
| Q | A |
|---|---|
| Bug report? | no |
| Feature request? | no |
| BC Break report? | no |
| RFC? | no |
Steps required to reproduce the problem
I have an entity class called SeoConfig that has a field called $seo_data which is an object of the SeoData class.
Here is the code
<?php
use JMS\Serializer\Annotation\Expose;
use JMS\Serializer\Annotation\Groups;
use Symfony\Component\HttpFoundation\File\File;
class SeoConfig
{
private $id;
public function getId()
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
}
/**
* @Groups(groups={"bootstrap_config"})
*/
private $path;
public function getPath()
{
return $this->path;
}
public function setPath($path)
{
$this->path = $path;
}
/**
* @var SeoData
* @Groups(groups={"bootstrap_config"})
*/
private $seo_data;
public function getSeoData()
{
return $this->seo_data;
}
public function setSeoData($seo_data)
{
$this->seo_data = $seo_data;
}
}<?php
use JMS\Serializer\Annotation as Serializer;
use JMS\Serializer\Annotation\Groups;
use Symfony\Component\HttpFoundation\File\File;
/**
* @Serializer\ExclusionPolicy('none')
*/
class SeoData
{
/**
* @var string
* @Groups(groups={"bootstrap_config"})
*/
private $title;
public function getTitle()
{
return $this->title;
}
public function setTitle($title)
{
$this->title = $title;
}
/**
* @var string
* @Groups(groups={"bootstrap_config"})
*/
private $description;
public function getDescription()
{
return $this->description;
}
public function setDescription($description)
{
$this->description = $description;
}
/**
* I want to exclude this property because it causes the Error
* @var File
* @Serializer\Exclude()
*/
private $file_image;
public function getFileImage()
{
return $this->file_image;
}
public function setFileImage($file_image)
{
$this->file_image = $file_image;
}
}As you can see on the SeoData class, I want to @Exclude() the $file_image property, because it cause an error: Serialization of 'Symfony\Component\HttpFoundation\File\File' is not allowed and this error is happening when I try to upload a file and saving the SeoConfig data.
Here is my jms_serializer.yml file:
jms_serializer:
default_context:
serialization:
serialize_null: false
attributes:
allows_root_null: true
visitors:
xml_serialization:
format_output: false
json_serialization:
options:
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTIONSo, I want to avoid the above error and that's why I try to @Exclude it.
But it seems it's not working on the embedded object like the sample above.
If I don't upload a file, and just save the rest data, it's working.
Expected Result
- The
$file_imageproperty should be excluded from serializing process and it doesn't throw theSerialization of 'Symfony\Component\HttpFoundation\File\File' is not allowederror
Actual Result
- Even though I have put the
@Exclude()annotation on the above$file_imageproperty, it still throws the error.
Metadata
Metadata
Assignees
Labels
No labels