api-platform / api-platform/core
Symfony Serializer polution : Unable to generate an IRI
- 主要语言
- PHP
- 星标
- 2.6k
- 派生
- 980
- 平均合并
- 2 天 4 小时
- 30 天内合并 PR
- 49
描述
**API Platform version(s) affected**: 2.5.5
**Description**
The APIPlatform serializer is used even outside ou APIPlatform and creates problem when serializing object using the Symfony Serializer
**How to reproduce**
- Create an entity marked as an API Resource
- Create a new Instance (not persisted) and try to serialize it.
```php
// In a Symfony Controller, outside of the API Platform scope
$fake = new Entity();
// Unable to generate an IRI for "Entity".
$serializer->serialize(
$fake,
'json',
['groups' => ['nofields']]
);
// But if we disable iri, using iri = false, it works
$serializer->serialize(
$fake,
'json',
['groups' => ['nofields'], 'iri' => false]
);
```
**Possible Solution**
At the moment the user has to edit his code to add "iri" into the context if the entity is a non persisted object (this is not ideal).
I didn't dive deep enough to offer a specific solution but I think a specific context should be used for API Platform to avoid poluting the Symfony serialization outside of the API.
贡献指南
评估
这个 Issue 还没有评估数据。