Add CBOR support to AllEncompassingFormHttpMessageConverter
Closes gh-32428
This commit is contained in:
parent
cf87441a26
commit
db1010f9c9
|
|
@ -18,6 +18,7 @@ package org.springframework.http.converter.support;
|
|||
|
||||
import org.springframework.http.converter.FormHttpMessageConverter;
|
||||
import org.springframework.http.converter.cbor.KotlinSerializationCborHttpMessageConverter;
|
||||
import org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter;
|
||||
import org.springframework.http.converter.json.GsonHttpMessageConverter;
|
||||
import org.springframework.http.converter.json.JsonbHttpMessageConverter;
|
||||
import org.springframework.http.converter.json.KotlinSerializationJsonHttpMessageConverter;
|
||||
|
|
@ -31,7 +32,8 @@ import org.springframework.util.ClassUtils;
|
|||
|
||||
/**
|
||||
* Extension of {@link org.springframework.http.converter.FormHttpMessageConverter},
|
||||
* adding support for XML and JSON-based parts.
|
||||
* adding support for XML, JSON, Smile, CBOR, Protobuf and Yaml based parts when
|
||||
* related libraries are present in the classpath.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Juergen Hoeller
|
||||
|
|
@ -48,6 +50,8 @@ public class AllEncompassingFormHttpMessageConverter extends FormHttpMessageConv
|
|||
|
||||
private static final boolean jackson2SmilePresent;
|
||||
|
||||
private static final boolean jackson2CborPresent;
|
||||
|
||||
private static final boolean jackson2YamlPresent;
|
||||
|
||||
private static final boolean gsonPresent;
|
||||
|
|
@ -67,6 +71,7 @@ public class AllEncompassingFormHttpMessageConverter extends FormHttpMessageConv
|
|||
ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator", classLoader);
|
||||
jackson2XmlPresent = ClassUtils.isPresent("com.fasterxml.jackson.dataformat.xml.XmlMapper", classLoader);
|
||||
jackson2SmilePresent = ClassUtils.isPresent("com.fasterxml.jackson.dataformat.smile.SmileFactory", classLoader);
|
||||
jackson2CborPresent = ClassUtils.isPresent("com.fasterxml.jackson.dataformat.cbor.CBORFactory", classLoader);
|
||||
jackson2YamlPresent = ClassUtils.isPresent("com.fasterxml.jackson.dataformat.yaml.YAMLFactory", classLoader);
|
||||
gsonPresent = ClassUtils.isPresent("com.google.gson.Gson", classLoader);
|
||||
jsonbPresent = ClassUtils.isPresent("jakarta.json.bind.Jsonb", classLoader);
|
||||
|
|
@ -103,6 +108,10 @@ public class AllEncompassingFormHttpMessageConverter extends FormHttpMessageConv
|
|||
addPartConverter(new MappingJackson2SmileHttpMessageConverter());
|
||||
}
|
||||
|
||||
if (jackson2CborPresent) {
|
||||
addPartConverter(new MappingJackson2CborHttpMessageConverter());
|
||||
}
|
||||
|
||||
if (jackson2YamlPresent) {
|
||||
addPartConverter(new MappingJackson2YamlHttpMessageConverter());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue