From 30dc86810e2a14357bce4f2e5a6fd2faa0c0dac2 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 30 Sep 2024 13:53:22 +0200 Subject: [PATCH] Upgrade to Jackson 2.18 Closes gh-33615 --- framework-platform/framework-platform.gradle | 2 +- .../messaging/converter/MappingJackson2MessageConverter.java | 4 +++- .../http/codec/json/AbstractJackson2Decoder.java | 1 + .../http/codec/json/AbstractJackson2Encoder.java | 1 + .../converter/json/AbstractJackson2HttpMessageConverter.java | 2 ++ .../http/converter/json/Jackson2ObjectMapperBuilder.java | 2 +- .../yaml/MappingJackson2YamlHttpMessageConverter.java | 2 +- 7 files changed, 10 insertions(+), 4 deletions(-) diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index 97f8d20f8e4..2e55c644c27 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -7,7 +7,7 @@ javaPlatform { } dependencies { - api(platform("com.fasterxml.jackson:jackson-bom:2.15.4")) + api(platform("com.fasterxml.jackson:jackson-bom:2.18.0")) api(platform("io.micrometer:micrometer-bom:1.14.0-M3")) api(platform("io.netty:netty-bom:4.1.113.Final")) api(platform("io.netty:netty5-bom:5.0.0.Alpha5")) diff --git a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java index 715f02e61e0..d43e991870f 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/converter/MappingJackson2MessageConverter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2023 the original author or authors. + * Copyright 2002-2024 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -159,6 +159,7 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter { } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override protected boolean canConvertFrom(Message message, @Nullable Class targetClass) { if (targetClass == null || !supportsMimeType(message.getHeaders())) { @@ -173,6 +174,7 @@ public class MappingJackson2MessageConverter extends AbstractMessageConverter { return false; } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override protected boolean canConvertTo(Object payload, @Nullable MessageHeaders headers) { if (!supportsMimeType(headers)) { diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Decoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Decoder.java index f78d5488325..f0b31f65a4e 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Decoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Decoder.java @@ -96,6 +96,7 @@ public abstract class AbstractJackson2Decoder extends Jackson2CodecSupport imple } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) { if (!supportsMimeType(mimeType)) { diff --git a/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Encoder.java b/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Encoder.java index 78e20160efe..7965a651f9b 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Encoder.java +++ b/spring-web/src/main/java/org/springframework/http/codec/json/AbstractJackson2Encoder.java @@ -105,6 +105,7 @@ public abstract class AbstractJackson2Encoder extends Jackson2CodecSupport imple } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType) { if (!supportsMimeType(mimeType)) { diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java index 2fd9f47179f..89320c8656c 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/AbstractJackson2HttpMessageConverter.java @@ -249,6 +249,7 @@ public abstract class AbstractJackson2HttpMessageConverter extends AbstractGener return canRead(clazz, null, mediaType); } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override public boolean canRead(Type type, @Nullable Class contextClass, @Nullable MediaType mediaType) { if (!canRead(mediaType)) { @@ -267,6 +268,7 @@ public abstract class AbstractJackson2HttpMessageConverter extends AbstractGener return false; } + @SuppressWarnings("deprecation") // as of Jackson 2.18: can(De)Serialize @Override public boolean canWrite(Class clazz, @Nullable MediaType mediaType) { if (!canWrite(mediaType)) { diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java index f075ff49ea5..0ead19d48c6 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/Jackson2ObjectMapperBuilder.java @@ -88,7 +88,7 @@ import org.springframework.util.xml.StaxUtils; * support for Java 8 Date & Time API types *
  • jackson-module-kotlin: * support for Kotlin classes and data classes
  • - *
  • jackson-modules-java8/parameter-names: + *
  • jackson-modules-java8/parameter-names: * support for accessing parameter names
  • * * diff --git a/spring-web/src/main/java/org/springframework/http/converter/yaml/MappingJackson2YamlHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/yaml/MappingJackson2YamlHttpMessageConverter.java index 04ade12504c..253d2552e58 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/yaml/MappingJackson2YamlHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/yaml/MappingJackson2YamlHttpMessageConverter.java @@ -27,7 +27,7 @@ import org.springframework.util.Assert; /** * Implementation of {@link org.springframework.http.converter.HttpMessageConverter * HttpMessageConverter} that can read and write the YAML - * data format using + * data format using * the dedicated Jackson 2.x extension. * *

    By default, this converter supports the {@link MediaType#APPLICATION_YAML_VALUE}