Class AbstractJackson2Encoder
java.lang.Object
org.springframework.http.codec.json.Jackson2CodecSupport
org.springframework.http.codec.json.AbstractJackson2Encoder
- All Implemented Interfaces:
org.springframework.core.codec.Encoder<Object>
,HttpMessageEncoder<Object>
- Direct Known Subclasses:
Jackson2CborEncoder
,Jackson2JsonEncoder
,Jackson2SmileEncoder
@Deprecated(since="7.0",
forRemoval=true)
public abstract class AbstractJackson2Encoder
extends Jackson2CodecSupport
implements HttpMessageEncoder<Object>
Deprecated, for removal: This API element is subject to removal in a future version.
Base class providing support methods for Jackson 2.x encoding. For non-streaming use
cases,
Flux
elements are collected into a List
before serialization for
performance reasons.- Since:
- 5.0
- Author:
- Sebastien Deleuze, Arjen Poutsma
-
Field Summary
Fields inherited from class org.springframework.http.codec.json.Jackson2CodecSupport
JSON_VIEW_HINT, logger
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractJackson2Encoder
(com.fasterxml.jackson.databind.ObjectMapper mapper, org.springframework.util.MimeType... mimeTypes) Deprecated, for removal: This API element is subject to removal in a future version.Constructor with a JacksonObjectMapper
to use. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canEncode
(org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.protected com.fasterxml.jackson.databind.ObjectWriter
customizeWriter
(com.fasterxml.jackson.databind.ObjectWriter writer, @Nullable org.springframework.util.MimeType mimeType, org.springframework.core.ResolvableType elementType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.Subclasses can use this method to customize theObjectWriter
used for writing values.reactor.core.publisher.Flux
<org.springframework.core.io.buffer.DataBuffer> encode
(Publisher<?> inputStream, org.springframework.core.io.buffer.DataBufferFactory bufferFactory, org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.org.springframework.core.io.buffer.DataBuffer
encodeValue
(Object value, org.springframework.core.io.buffer.DataBufferFactory bufferFactory, org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.protected <A extends Annotation>
@Nullable AgetAnnotation
(org.springframework.core.MethodParameter parameter, Class<A> annotType) Deprecated, for removal: This API element is subject to removal in a future version.List
<org.springframework.util.MimeType> Deprecated, for removal: This API element is subject to removal in a future version.List
<org.springframework.util.MimeType> getEncodableMimeTypes
(org.springframework.core.ResolvableType elementType) Deprecated, for removal: This API element is subject to removal in a future version.getEncodeHints
(@Nullable org.springframework.core.ResolvableType actualType, org.springframework.core.ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response) Deprecated, for removal: This API element is subject to removal in a future version.Get decoding hints based on the server request or annotations on the target controller method parameter.protected com.fasterxml.jackson.core.JsonEncoding
getJsonEncoding
(@Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.Determine the JSON encoding to use for the given mime type.Deprecated, for removal: This API element is subject to removal in a future version.Return "streaming" media types for which flushing should be performed automatically vs at the end of the input stream.protected byte @Nullable []
getStreamingMediaTypeSeparator
(@Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.Return the separator to use for the given mime type.void
setStreamingMediaTypes
(List<MediaType> mediaTypes) Deprecated, for removal: This API element is subject to removal in a future version.Configure "streaming" media types for which flushing should be performed automatically vs at the end of the stream.Methods inherited from class org.springframework.http.codec.json.Jackson2CodecSupport
getHints, getJavaType, getMediaTypesForProblemDetail, getMimeTypes, getMimeTypes, getObjectMapper, getObjectMapperRegistrations, getObjectMappersForType, getParameter, logWarningIfNecessary, registerObjectMappersForType, selectObjectMapper, setObjectMapper, supportsMimeType
-
Constructor Details
-
AbstractJackson2Encoder
protected AbstractJackson2Encoder(com.fasterxml.jackson.databind.ObjectMapper mapper, org.springframework.util.MimeType... mimeTypes) Deprecated, for removal: This API element is subject to removal in a future version.Constructor with a JacksonObjectMapper
to use.
-
-
Method Details
-
setStreamingMediaTypes
-
canEncode
public boolean canEncode(org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
canEncode
in interfaceorg.springframework.core.codec.Encoder<Object>
-
encode
public reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer> encode(Publisher<?> inputStream, org.springframework.core.io.buffer.DataBufferFactory bufferFactory, org.springframework.core.ResolvableType elementType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
encode
in interfaceorg.springframework.core.codec.Encoder<Object>
-
encodeValue
public org.springframework.core.io.buffer.DataBuffer encodeValue(Object value, org.springframework.core.io.buffer.DataBufferFactory bufferFactory, org.springframework.core.ResolvableType valueType, @Nullable org.springframework.util.MimeType mimeType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
encodeValue
in interfaceorg.springframework.core.codec.Encoder<Object>
-
customizeWriter
protected com.fasterxml.jackson.databind.ObjectWriter customizeWriter(com.fasterxml.jackson.databind.ObjectWriter writer, @Nullable org.springframework.util.MimeType mimeType, org.springframework.core.ResolvableType elementType, @Nullable Map<String, Object> hints) Deprecated, for removal: This API element is subject to removal in a future version.Subclasses can use this method to customize theObjectWriter
used for writing values.- Parameters:
writer
- the writer instance to customizemimeType
- the selected MIME typeelementType
- the type of element values to writehints
- a map with serialization hints; the Reactor Context, when available, may be accessed under the keyContextView.class.getName()
- Returns:
- the customized
ObjectWriter
to use
-
getStreamingMediaTypeSeparator
protected byte @Nullable [] getStreamingMediaTypeSeparator(@Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.Return the separator to use for the given mime type.By default, this method returns new line
"\n"
if the given mime type is one of the configuredstreaming
mime types.- Since:
- 5.3
-
getJsonEncoding
protected com.fasterxml.jackson.core.JsonEncoding getJsonEncoding(@Nullable org.springframework.util.MimeType mimeType) Deprecated, for removal: This API element is subject to removal in a future version.Determine the JSON encoding to use for the given mime type.- Parameters:
mimeType
- the mime type as requested by the caller- Returns:
- the JSON encoding to use (never
null
) - Since:
- 5.0.5
-
getEncodableMimeTypes
-
getEncodableMimeTypes
public List<org.springframework.util.MimeType> getEncodableMimeTypes(org.springframework.core.ResolvableType elementType) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getEncodableMimeTypes
in interfaceorg.springframework.core.codec.Encoder<Object>
-
getStreamingMediaTypes
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:HttpMessageEncoder
Return "streaming" media types for which flushing should be performed automatically vs at the end of the input stream.- Specified by:
getStreamingMediaTypes
in interfaceHttpMessageEncoder<Object>
-
getEncodeHints
public Map<String,Object> getEncodeHints(@Nullable org.springframework.core.ResolvableType actualType, org.springframework.core.ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response) Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:HttpMessageEncoder
Get decoding hints based on the server request or annotations on the target controller method parameter.- Specified by:
getEncodeHints
in interfaceHttpMessageEncoder<Object>
- Parameters:
actualType
- the actual source type to encode, possibly a reactive wrapper and sourced fromMethodParameter
, i.e. providing access to method annotations.elementType
- the element type withinFlux/Mono
that we're trying to encode.request
- the current requestresponse
- the current response- Returns:
- a Map with hints, possibly empty
-
getAnnotation
protected <A extends Annotation> @Nullable A getAnnotation(org.springframework.core.MethodParameter parameter, Class<A> annotType) Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getAnnotation
in classJackson2CodecSupport
-
AbstractJacksonEncoder