codeconsole commented on PR #16237:
URL: https://github.com/apache/grails-core/pull/16237#issuecomment-6222780576
@matrei @jdaugherty One more round on `grails.converters.json.legacy:
false`, which is the path that becomes the default in Grails 10 (`9e58e1ae48`,
three separate commits):
- The converter's nested-value frame is an attribute of the serialization
context, not a thread-local (`78b04ed334`).
- Jackson writes collections, maps, arrays, records and `Optional` values.
The converter still renders each value in them, so registered marshallers
apply, and a collection or map that contains itself is found as before
(`32c1a6b850`). `RecordMarshaller` and `OptionalMarshaller` are gone.
- Jackson writes enums and beans too. `ConverterJsonModule` adds the
converter's rules: enums by name (a `Month` keeps its number), the converter's
per-class includes and excludes, and `@PersistenceMethod`/`@ControllerMethod`
methods left out (`9e58e1ae48`). The Grails bean marshallers stay for `legacy:
true` and for anyone who registers them.
Output changes under `legacy: false`, listed in the upgrade guide: the
Jackson annotations on a bean apply, properties follow Jackson's order, a map
with a null key fails, and a `Map.Entry` is `{"k":1}`. `legacy: true` is
unchanged.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]