[2.4.0-beta2] Wrong JSON-LD and JSON single item response - ignores serialization groups?
See original GitHub issueOn 2.4.0-beta1 when I ask for single resource (/api/contents/1.jsonld) I get:
{
"@context":"/api/contexts/Content",
"@id":"/api/contents/1",
"@type":"Content",
"id":1,
"contentType":"homepage",
"modifiedAt":"2018-06-19T16:18:20+00:00",
"publishedAt":"2019-01-06T19:14:53+00:00",
"fieldValues":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"teaser":"Ut qui dolor debitis esse. Maiores alias repellat maxime ut voluptatem. Eum esse reprehenderit expedita necessitatibus. Animi hic eveniet sed et.\n\nEst pariatur incidunt aut iste. Rem aut nihil et ut natus perspiciatis. Dolore veritatis ab sed repellendus quo deleniti qui.\n\nQui laudantium corrupti labore quidem veniam nemo qui. Sit dolore atque et cumque libero. Omnis earum repellendus hic aut vero aut voluptatem. Ea non magni eligendi occaecati numquam.",
"content":"Minus sed repellendus corporis nemo. Aut aut veniam at aut aliquid. Architecto tempora quia neque numquam voluptas sint est delectus.\n\nUnde voluptatem animi non ut aut dicta. Omnis vero dolorum aliquid laudantium magni asperiores. Et tempora eveniet soluta modi occaecati.\n\nEa dolorum tenetur voluptatum temporibus illo fuga. Quibusdam et doloribus debitis omnis sed. Tempora in aperiam ullam non odit. Praesentium sunt accusantium dolorem commodi labore eum nostrum quia.",
"contentlink":"Aut ea iusto est iste est odit.",
"slug":"labore-reprehenderit-dolorem-repellendus-asperiores"
},
"taxonomyValues":[
],
"authorName":"Jane Doe",
"extras":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"excerpt":"Labore reprehenderit dolorem repellendus asperiores. Ut qui dolor debitis esse. Maiores alias …",
"link":"/homepage/labore-reprehenderit-dolorem-repellendus-asperiores",
"editLink":"/bolt/edit/1"
}
}
Which is correct.
But after bumping version to 2.4.0-beta2 I get:
{
"@context":"/api/contexts/Content",
"@id":"/api/contents",
"@type":"hydra:Collection",
"hydra:member":[
1,
"homepage",
"labore-reprehenderit-dolorem-repellendus-asperiores",
{
"id":3,
"displayName":"Jane Doe",
"username":"jane_admin",
"email":"jane_admin@example.org"
},
{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"teaser":"Ut qui dolor debitis esse. Maiores alias repellat maxime ut voluptatem. Eum esse reprehenderit expedita necessitatibus. Animi hic eveniet sed et.\n\nEst pariatur incidunt aut iste. Rem aut nihil et ut natus perspiciatis. Dolore veritatis ab sed repellendus quo deleniti qui.\n\nQui laudantium corrupti labore quidem veniam nemo qui. Sit dolore atque et cumque libero. Omnis earum repellendus hic aut vero aut voluptatem. Ea non magni eligendi occaecati numquam.",
"content":"Minus sed repellendus corporis nemo. Aut aut veniam at aut aliquid. Architecto tempora quia neque numquam voluptas sint est delectus.\n\nUnde voluptatem animi non ut aut dicta. Omnis vero dolorum aliquid laudantium magni asperiores. Et tempora eveniet soluta modi occaecati.\n\nEa dolorum tenetur voluptatum temporibus illo fuga. Quibusdam et doloribus debitis omnis sed. Tempora in aperiam ullam non odit. Praesentium sunt accusantium dolorem commodi labore eum nostrum quia.",
"contentlink":"Aut ea iusto est iste est odit.",
"slug":"labore-reprehenderit-dolorem-repellendus-asperiores"
},
[
],
{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"excerpt":"Labore reprehenderit dolorem repellendus asperiores. Ut qui dolor debitis esse. Maiores alias …",
"link":"/homepage/labore-reprehenderit-dolorem-repellendus-asperiores",
"editLink":"/bolt/edit/1"
},
"published",
"fa-home",
"2018-03-25T03:58:54+00:00",
"2018-06-19T16:18:20+00:00",
"2019-01-06T19:14:53+00:00",
"2019-02-13T22:01:37+00:00"
],
"hydra:totalItems":13,
"hydra:search":{
"@type":"hydra:IriTemplate",
"hydra:template":"/api/contents/1.jsonld{?id,id[],contentType,contentType[],status,status[],createdAt,createdAt[],modifiedAt,modifiedAt[],publishedAt,publishedAt[],depublishedAt,depublishedAt[]}",
"hydra:variableRepresentation":"BasicRepresentation",
"hydra:mapping":[
{
"@type":"IriTemplateMapping",
"variable":"id",
"property":"id",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"id[]",
"property":"id",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"contentType",
"property":"contentType",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"contentType[]",
"property":"contentType",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"status",
"property":"status",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"status[]",
"property":"status",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"createdAt",
"property":"createdAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"createdAt[]",
"property":"createdAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"modifiedAt",
"property":"modifiedAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"modifiedAt[]",
"property":"modifiedAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"publishedAt",
"property":"publishedAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"publishedAt[]",
"property":"publishedAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"depublishedAt",
"property":"depublishedAt",
"required":false
},
{
"@type":"IriTemplateMapping",
"variable":"depublishedAt[]",
"property":"depublishedAt",
"required":false
}
]
}
}
Also JSON response is wrong in beta2 - looks like it ignores serialization groups.
Response in beta2 (invalid):
{
"id":1,
"contentType":"homepage",
"slug":"labore-reprehenderit-dolorem-repellendus-asperiores",
"author":{
"id":3,
"displayName":"Jane Doe",
"username":"jane_admin",
"email":"jane_admin@example.org"
},
"fields":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"teaser":"Ut qui dolor debitis esse. Maiores alias repellat maxime ut voluptatem. Eum esse reprehenderit expedita necessitatibus. Animi hic eveniet sed et.\n\nEst pariatur incidunt aut iste. Rem aut nihil et ut natus perspiciatis. Dolore veritatis ab sed repellendus quo deleniti qui.\n\nQui laudantium corrupti labore quidem veniam nemo qui. Sit dolore atque et cumque libero. Omnis earum repellendus hic aut vero aut voluptatem. Ea non magni eligendi occaecati numquam.",
"content":"Minus sed repellendus corporis nemo. Aut aut veniam at aut aliquid. Architecto tempora quia neque numquam voluptas sint est delectus.\n\nUnde voluptatem animi non ut aut dicta. Omnis vero dolorum aliquid laudantium magni asperiores. Et tempora eveniet soluta modi occaecati.\n\nEa dolorum tenetur voluptatum temporibus illo fuga. Quibusdam et doloribus debitis omnis sed. Tempora in aperiam ullam non odit. Praesentium sunt accusantium dolorem commodi labore eum nostrum quia.",
"contentlink":"Aut ea iusto est iste est odit.",
"slug":"labore-reprehenderit-dolorem-repellendus-asperiores"
},
"taxonomies":[
],
"extras":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"excerpt":"Labore reprehenderit dolorem repellendus asperiores. Ut qui dolor debitis esse. Maiores alias …",
"link":"/homepage/labore-reprehenderit-dolorem-repellendus-asperiores",
"editLink":"/bolt/edit/1"
},
"status":"published",
"icon":"fa-home",
"createdAt":"2018-03-25T03:58:54+00:00",
"modifiedAt":"2018-06-19T16:18:20+00:00",
"publishedAt":"2019-01-06T19:14:53+00:00",
"depublishedAt":"2019-02-13T22:01:37+00:00"
}
Reponse in beta1 (valid):
{
"id":1,
"contentType":"homepage",
"modifiedAt":"2018-06-19T16:18:20+00:00",
"publishedAt":"2019-01-06T19:14:53+00:00",
"fieldValues":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"teaser":"Ut qui dolor debitis esse. Maiores alias repellat maxime ut voluptatem. Eum esse reprehenderit expedita necessitatibus. Animi hic eveniet sed et.\n\nEst pariatur incidunt aut iste. Rem aut nihil et ut natus perspiciatis. Dolore veritatis ab sed repellendus quo deleniti qui.\n\nQui laudantium corrupti labore quidem veniam nemo qui. Sit dolore atque et cumque libero. Omnis earum repellendus hic aut vero aut voluptatem. Ea non magni eligendi occaecati numquam.",
"content":"Minus sed repellendus corporis nemo. Aut aut veniam at aut aliquid. Architecto tempora quia neque numquam voluptas sint est delectus.\n\nUnde voluptatem animi non ut aut dicta. Omnis vero dolorum aliquid laudantium magni asperiores. Et tempora eveniet soluta modi occaecati.\n\nEa dolorum tenetur voluptatum temporibus illo fuga. Quibusdam et doloribus debitis omnis sed. Tempora in aperiam ullam non odit. Praesentium sunt accusantium dolorem commodi labore eum nostrum quia.",
"contentlink":"Aut ea iusto est iste est odit.",
"slug":"labore-reprehenderit-dolorem-repellendus-asperiores"
},
"taxonomyValues":[
],
"authorName":"Jane Doe",
"extras":{
"title":"Labore reprehenderit dolorem repellendus asperiores.",
"image":{
"filename":"kitten.jpg",
"alt":"A cute kitten",
"path":"/thumbs/kitten.jpg?w=240&h=160&area=files"
},
"excerpt":"Labore reprehenderit dolorem repellendus asperiores. Ut qui dolor debitis esse. Maiores alias …",
"link":"/homepage/labore-reprehenderit-dolorem-repellendus-asperiores",
"editLink":"/bolt/edit/1"
}
}
Issue Analytics
- State:
- Created 5 years ago
- Comments:17 (9 by maintainers)
Top Results From Across the Web
JSON-LD 1.1 - W3C
This specification defines JSON-LD 1.1, a JSON-based format to serialize Linked Data. The syntax is designed to easily integrate into deployed ...
Read more >Symfony Serializer with Groups not working - empty output
I am trying to serialise data as JSON with the default Symfony Serializer. To do that I'm trying to use @Groups() as explained...
Read more >JSON-LD-star
In the JSON serialization, an object structure is represented as a pair of curly brackets surrounding zero or more name/value pairs (or members) ......
Read more >Building JSON-LD APIs: Best Practices
It allows an application to start at one piece of Linked Data, and follow embedded links to other pieces of Linked Data that...
Read more >JSON-AD: The Atomic Data serialization format
It is inspired by JSON-LD. It uses JSON, but has some additional constraints: Every single Object is a Resource . Every Key is...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Actually the issue is that now the ItemNormalizer might be called even though:
json-ld,json-api,halBecause the
AbstractItemNormalizer::supportsNormalizationalmost always returntrueand thatApiPlatform\Core\Serializer\ItemNormalizerhas no format check.@JarJak the comment from @dunglas is something we need to implement so that you don’t face the issue by upgrading. Sorry for the inconvenience.