Skip to content

Add global config override setting for @JsonFormat.lenient() #2424

@cowtowncoder

Description

@cowtowncoder

As of 2.9, config overrides system supports global defaults for @JsonInclude and @JsonSetter (as well as some other settings). This is almost everything that can be overridden on per-type (Class) bases, except for one thing: @JsonFormat is overridable on per-type basis but not globally.
The reason for this is that most settings do not make sense in general context: for example, setting Shape default for everything is unlikely to make sense in most cases.

But although most settings are not useful, one thing is: "leniency". Global default currently something like "implicitly enabled", but there is no way to change that: instead, type overrides must be applied to change leniency to "strict" (that is, disabled).

So, let's add setting in 2.10.

Note that 3.0 is planned to introduce an intermediate level of "Type categories" (so, something like "all date/time types", "all numbers", "all sequences", "all map-like") which may then allow @JsonFormat overrides for wider groups. But there is still need for global leniency setting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions