クラス AbstractJackson2Encoder
java.lang.ObjectSE
org.springframework.http.codec.json.Jackson2CodecSupport
org.springframework.http.codec.json.AbstractJackson2Encoder
- 実装されているすべてのインターフェース:
Encoder<ObjectSE>,HttpMessageEncoder<ObjectSE>
public abstract class AbstractJackson2Encoder
extends Jackson2CodecSupport
implements HttpMessageEncoder<ObjectSE>
Jackson 2.x エンコーディングのサポートメソッドを提供する基本クラス。ストリーミング以外のユースケースでは、パフォーマンス上の理由から、直列化の前に
Flux 要素が ListSE に収集されます。- 導入:
- 5.0
- 作成者:
- Sebastien Deleuze, Arjen Poutsma
フィールドのサマリー
クラス org.springframework.http.codec.json.Jackson2CodecSupport から継承されたフィールド
JSON_VIEW_HINT, loggerコンストラクターの概要
コンストラクター修飾子コンストラクター説明protectedAbstractJackson2Encoder(ObjectMapper mapper, MimeType... mimeTypes) 使用する JacksonObjectMapperを持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明booleancanEncode(ResolvableType elementType, MimeType mimeType) エンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。protected ObjectWritercustomizeWriter(ObjectWriter writer, MimeType mimeType, ResolvableType elementType, MapSE<StringSE, ObjectSE> hints) サブクラスは、このメソッドを使用して、値の書き込みに使用されるObjectWriterをカスタマイズできます。reactor.core.publisher.Flux<DataBuffer>encode(Publisher<?> inputStream, DataBufferFactory bufferFactory, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型TのオブジェクトのストリームをDataBuffer出力ストリームにエンコードします。encodeValue(ObjectSE value, DataBufferFactory bufferFactory, ResolvableType valueType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 型 T のオブジェクトをデータバッファにエンコードします。protected <A extends AnnotationSE>
AgetAnnotation(MethodParameter parameter, ClassSE<A> annotType) このエンコーダーでサポートされている MIME 型のリストを返します。getEncodableMimeTypes(ResolvableType elementType) 指定された型の要素について、このエンコーダーでサポートされている MIME 型のリストを返します。getEncodeHints(ResolvableType actualType, ResolvableType elementType, MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response) サーバーリクエストまたはターゲットコントローラーメソッドパラメーターのアノテーションに基づいてデコードヒントを取得します。protected JsonEncodinggetJsonEncoding(MimeType mimeType) 指定された MIME 型に使用する JSON エンコーディングを決定します。入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。protected byte[]getStreamingMediaTypeSeparator(MimeType mimeType) 指定された mime 型に使用するセパレータを返します。voidsetStreamingMediaTypes(ListSE<MediaType> mediaTypes) ストリームの最後で自動的にフラッシュを実行する「ストリーミング」メディア型を設定します。クラス org.springframework.http.codec.json.Jackson2CodecSupport から継承されたメソッド
getHints, getJavaType, getMediaTypesForProblemDetail, getMimeTypes, getMimeTypes, getObjectMapper, getObjectMapperRegistrations, getObjectMappersForType, getParameter, logWarningIfNecessary, registerObjectMappersForType, selectObjectMapper, setObjectMapper, supportsMimeType
コンストラクターの詳細
AbstractJackson2Encoder
使用する JacksonObjectMapperを持つコンストラクター。
メソッドの詳細
setStreamingMediaTypes
ストリームの最後で自動的にフラッシュを実行する「ストリーミング」メディア型を設定します。canEncode
インターフェースからコピーされた説明:Encoderエンコーダが特定のソース要素型と出力ストリームの MIME 型をサポートするかどうか。encode
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- エンコード方法に関する追加情報- 戻り値:
- 出力ストリーム
encodeValue
public DataBuffer encodeValue(ObjectSE value, DataBufferFactory bufferFactory, ResolvableType valueType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:Encoder型 T のオブジェクトをデータバッファーにエンコードします。これは、個別のメッセージ(またはイベント)が完全に集約された形式で個別にエンコードおよび処理されるシナリオで役立ちます。デフォルトでは、このメソッドは
UnsupportedOperationExceptionSE を発生させ、一部のエンコーダーは単一のバッファーを作成できないか、同期的に作成できないことが予想されます(例:Resourceのエンコード)。- 次で指定:
- インターフェース
Encoder<ObjectSE>のencodeValue - パラメーター:
value- エンコードされる値bufferFactory- 出力DataBufferを作成するためvalueType- エンコードされる値の型mimeType- 出力コンテンツの MIME 型 (オプション)hints- エンコード方法に関する追加情報- 戻り値:
- エンコードされたコンテンツ
customizeWriter
protected ObjectWriter customizeWriter(ObjectWriter writer, @Nullable MimeType mimeType, ResolvableType elementType, @Nullable MapSE<StringSE, ObjectSE> hints) サブクラスは、このメソッドを使用して、値の書き込みに使用されるObjectWriterをカスタマイズできます。- パラメーター:
writer- カスタマイズするライターインスタンスmimeType- 選択した MIME 型elementType- 書き込む要素値の型hints- 直列化のヒントを含むマップ。Reactor コンテキストは、利用可能な場合、キーContextView.class.getName()でアクセスできます。- 戻り値:
- 使用するカスタマイズされた
ObjectWriter
getStreamingMediaTypeSeparator
指定された mime 型に使用するセパレータを返します。デフォルトでは、指定された mime 型が構成済みの
streamingmime 型のいずれかである場合、このメソッドは改行"\n"を返します。- 導入:
- 5.3
getJsonEncoding
指定された MIME 型に使用する JSON エンコーディングを決定します。- パラメーター:
mimeType- 呼び出し元によってリクエストされた MIME 型- 戻り値:
- 使用する JSON エンコード (非
null) - 導入:
- 5.0.5
getEncodableMimeTypes
インターフェースからコピーされた説明:Encoderこのエンコーダーでサポートされている MIME 型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canEncode(elementType, null)を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Encoder.getEncodableMimeTypes(ResolvableType)を使用してより正確なリストを作成します。- 次で指定:
- インターフェース
Encoder<ObjectSE>のgetEncodableMimeTypes - 戻り値:
- サポートされている MIME 型のリスト
getEncodableMimeTypes
インターフェースからコピーされた説明:Encoder指定された型の要素について、このエンコーダーでサポートされている MIME 型のリストを返します。このリストは、エンコーダーが要素型をサポートしていない場合、または MIME 型のサブセットに対してのみサポートしている場合、Encoder.getEncodableMimeTypes()とは異なる場合があります。- 次で指定:
- インターフェース
Encoder<ObjectSE>のgetEncodableMimeTypes - パラメーター:
elementType- エンコーディングをチェックする要素の型- 戻り値:
- 特定の要素型でサポートされている MIME 型のリスト
getStreamingMediaTypes
インターフェースからコピーされた説明:HttpMessageEncoder入力ストリームの最後で自動的にフラッシュを実行する必要がある「ストリーミング」メディア型を返します。- 次で指定:
- インターフェース
HttpMessageEncoder<ObjectSE>のgetStreamingMediaTypes
getEncodeHints
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- 現在のレスポンス- 戻り値:
- ヒントがあるマップ、空の場合もある
getAnnotation
@Nullable protected <A extends AnnotationSE> A getAnnotation(MethodParameter parameter, ClassSE<A> annotType) - 次で指定:
- クラス
Jackson2CodecSupportのgetAnnotation