api-platform / api-platform/core
Symfony Serializer polution : Unable to generate an IRI
- Lingua principale
- PHP
- Stelle
- 2.6k
- Fork
- 980
- Merge medio
- 2g 4h
- PR unite (30g)
- 49
Descrizione
**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.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.