If we try to read user object, then field ESIAPassport will not be deserialised by jackson, because jackson analyses setter name and expects json to contain field esiapassport.
ObjectMapper objectMapper = new ObjectMapper()
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
String response = """
{
"firstName": "A",
"ESIAPassport": "1234"
}
""";
User user = objectMapper.readValue(response, User.class);
assertEquals("A", user.getFirstName()); // ok
assertEquals("1234", user.getESIAPassport()); // fails
I suppose fix would be to add @JsonProperty annotation on getter or both getter and setter - looks like it doesn't matter for jackson.
Hello. We have third party schema, where some fields begin with a capital letter. As example:
Generated java class for User looks like:
We receive response like:
If we try to read
user
object, then fieldESIAPassport
will not be deserialised by jackson, because jackson analyses setter name and expects json to contain fieldesiapassport
.I suppose fix would be to add @JsonProperty annotation on getter or both getter and setter - looks like it doesn't matter for jackson.