public abstract class AbstractJackson2Encoder extends Jackson2CodecSupport implements HttpMessageEncoder<ObjectSE>
Flux
要素はシリアライズ前に List
SE に収集されます。JSON_VIEW_HINT, logger
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractJackson2Encoder(ObjectMapper mapper, MimeType... mimeTypes) 使用する Jackson ObjectMapper を持つコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canEncode(ResolvableType elementType, MimeType mimeType) エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。 |
protected ObjectWriter | customizeWriter(ObjectWriter writer, MimeType mimeType, ResolvableType elementType, MapSE<StringSE, ObjectSE> hints) |
reactor.core.publisher.Flux<DataBuffer> | encode(Publisher<?> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型 T のオブジェクトのストリームを DataBuffer 出力ストリームにエンコードします。 |
DataBuffer | encodeValue(ObjectSE value, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型 T のオブジェクトをデータバッファにエンコードします。 |
protected <A extends AnnotationSE> | getAnnotation(MethodParameter parameter, ClassSE<A> annotType) |
ListSE<MimeType> | getEncodableMimeTypes() このエンコーダーでサポートされている MIME 型のリストを返します。 |
ListSE<MimeType> | getEncodableMimeTypes(ResolvableType elementType) 指定された型の要素について、このエンコーダーでサポートされている MIME 型のリストを返します。 |
MapSE<StringSE, ObjectSE> | getEncodeHints(ResolvableType actualType, ResolvableType elementType, MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response) サーバーリクエストまたはターゲットコントローラーメソッドパラメーターのアノテーションに基づいてデコードヒントを取得します。 |
protected JsonEncoding | getJsonEncoding(MimeType mimeType) 指定された MIME 型に使用する JSON エンコーディングを決定します。 |
ListSE<MediaType> | getStreamingMediaTypes() 入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。 |
protected byte[] | getStreamingMediaTypeSeparator(MimeType mimeType) 指定された mime 型に使用するセパレータを返します。 |
void | setStreamingMediaTypes(ListSE<MediaType> mediaTypes) ストリームの最後で自動的にフラッシュを実行する「ストリーミング」メディア型を設定します。 |
getHints, getJavaType, getMimeTypes, getMimeTypes, getObjectMapper, getObjectMapperRegistrations, getObjectMappersForType, getParameter, logWarningIfNecessary, registerObjectMappersForType, selectObjectMapper, setObjectMapper, supportsMimeType
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected AbstractJackson2Encoder(ObjectMapper mapper, MimeType... mimeTypes)
ObjectMapper
を持つコンストラクター。public void setStreamingMediaTypes(ListSE<MediaType> mediaTypes)
public boolean canEncode(ResolvableType elementType, @Nullable MimeType mimeType)
Encoder
public reactor.core.publisher.Flux<DataBuffer> encode(Publisher<?> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Encoder
T
のオブジェクトのストリームを DataBuffer
出力ストリームにエンコードします。Encoder<ObjectSE>
の encode
inputStream
- エンコードするオブジェクトの入力ストリーム。入力を要素のストリームとしてではなく単一の値としてエンコードする必要がある場合は、Mono
のインスタンスを使用する必要があります。bufferFactory
- 出力ストリーム DataBuffer
を作成するための elementType
- 入力ストリーム内の要素の予想される型。この型は、事前に Encoder.canEncode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されていなければならず、true
を返さなければなりません。mimeType
- 出力コンテンツの MIME 型 (オプション)hints
- エンコード方法に関する追加情報 public DataBuffer encodeValue(ObjectSE value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Encoder
デフォルトでは、このメソッドは UnsupportedOperationException
SE を発生させ、一部のエンコーダーは単一のバッファーを作成できないか、同期的に作成できないことが予想されます(例: Resource
のエンコード)。
Encoder<ObjectSE>
の encodeValue
value
- エンコードされる値 bufferFactory
- 出力 DataBuffer
を作成するため valueType
- エンコードされる値の型 mimeType
- 出力コンテンツの MIME 型 (オプション)hints
- エンコード方法に関する追加情報 protected ObjectWriter customizeWriter(ObjectWriter writer, @Nullable MimeType mimeType, ResolvableType elementType, @Nullable MapSE<StringSE,ObjectSE> hints)
@Nullable protected byte[] getStreamingMediaTypeSeparator(@Nullable MimeType mimeType)
デフォルトでは、指定された mime 型が構成済みの streaming
mime 型のいずれかである場合、このメソッドは改行 "\n"
を返します。
protected JsonEncoding getJsonEncoding(@Nullable MimeType mimeType)
mimeType
- 呼び出し元によってリクエストされた MIME 型 null
)public ListSE<MimeType> getEncodableMimeTypes()
Encoder
canEncode(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Encoder.getEncodableMimeTypes(ResolvableType)
を使用してより正確なリストを作成します。Encoder<ObjectSE>
の getEncodableMimeTypes
public ListSE<MimeType> getEncodableMimeTypes(ResolvableType elementType)
Encoder
Encoder.getEncodableMimeTypes()
とは異なる場合があります。Encoder<ObjectSE>
の getEncodableMimeTypes
elementType
- エンコーディングをチェックする要素の型 public ListSE<MediaType> getStreamingMediaTypes()
HttpMessageEncoder
HttpMessageEncoder<ObjectSE>
の getStreamingMediaTypes
public MapSE<StringSE,ObjectSE> getEncodeHints(@Nullable ResolvableType actualType, ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response)
HttpMessageEncoder
HttpMessageEncoder<ObjectSE>
の getEncodeHints
actualType
- エンコードする実際のソース型。おそらくリアクティブラッパーであり、MethodParameter
からソースされます。つまり、メソッドアノテーションへのアクセスを提供します。elementType
- エンコードしようとしている Flux/Mono
内の要素型。request
- 現在のリクエスト response
- 現在のレスポンス protected <A extends AnnotationSE> A getAnnotation(MethodParameter parameter, ClassSE<A> annotType)
Jackson2CodecSupport
の getAnnotation