feat #37: support spring boot 4 - #36
Conversation
…oot-4' into import-issues/2088-Support-Spring-Boot-4
vita-kotacka
left a comment
There was a problem hiding this comment.
🤖 Reviewed the Spring Boot 4 / Jackson 3 migration. Built locally (mvn clean test, Java 21): BUILD SUCCESS, 109 tests pass. No blocking issues — nicely scoped migration. A few non-blocking items to confirm:
Confirm before merge
- SNAPSHOT dependencies —
wultra-core,powerauth, andpowerauth-cryptoare all2.2.0-SNAPSHOT. The release will be gated until those are published as GA. OperationPersistenceService— the new mapper useschangeDefaultPropertyInclusion(NON_EMPTY, NON_EMPTY), which also appliesNON_EMPTYto content (map/collection values). The previoussetSerializationInclusion(NON_EMPTY)only set value-level inclusion. Since this mapper serializes data persisted to the DB (operation form data, params, steps), please confirm the stricter content filtering is intended.WebApplicationConfig—new JacksonJsonHttpMessageConverter((JsonMapper) objectMapper)relies on theobjectMapperbean always being aJsonMapper; if that bean is ever changed to a plainObjectMapperit becomes a startupClassCastException. Consider typing the bean asJsonMapper.
Nits (optional)
- Missing trailing newline at EOF in
NextStepClientException.javaandCHANGELOG.md. - The
@JsonSetter(nulls = Nulls.SKIP)null-handling is unit-tested for the Map case (OperationFormFieldAttributeFormattedTest) but not for theListfields (e.g.GetOperationDetailResponse.steps/history/afsActions); a single assertion there would close the gap.
Nicely done: correct use of Jackson 3 defaults (dropped redundant FAIL_ON_UNKNOWN_PROPERTIES / WRITE_DATES_AS_TIMESTAMPS / JavaTimeModule), consistent @JsonSetter(nulls = SKIP) on final collections, and annotations correctly kept in com.fasterxml.jackson.annotation.
Thank you, I fixed the mentioned issues. |
🤖
PR migrated from wultra/powerauth-webflow#2092
Closes
Closes #37