Well, as only deserialization is your concern, @JsonAlias
introduced in 2.9
is perfect for this situation. You can do something like this:
@JsonAlias({"cover_asset", "asset"})
private Asset asset;
Annotation that can be used to define one or more alternative names
for a property, accepted during deserialization as alternative to the
official name. Alias information is also exposed during POJO
introspection, but has no effect during serialization where primary
name is always used.
Note: Make sure you update all related dependencies(annotations
, core
, databind
) if you are using them. Updating just annotations
without others threw me runtime error.