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 還沒有評估資料。