public abstract class AbstractJackson2Decoder extends Jackson2CodecSupport implements HttpMessageDecoder<ObjectSE>
Jackson 2.9.7 以上と互換性があります。
JSON_VIEW_HINT, logger
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractJackson2Decoder(ObjectMapper mapper, MimeType... mimeTypes) 使用する Jackson ObjectMapper を持つコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canDecode(ResolvableType elementType, MimeType mimeType) デコーダーが特定のターゲット要素型とソースストリームの MIME 型をサポートするかどうか。 |
ObjectSE | decode(DataBuffer dataBuffer, ResolvableType targetType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) データバッファを型 T のオブジェクトにデコードします。 |
reactor.core.publisher.Flux<ObjectSE> | decode(Publisher<DataBuffer> input, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer 入力ストリームを T の Flux にデコードします。 |
reactor.core.publisher.Mono<ObjectSE> | decodeToMono(Publisher<DataBuffer> input, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) DataBuffer 入力ストリームを T の Mono にデコードします。 |
protected <A extends AnnotationSE> | getAnnotation(MethodParameter parameter, ClassSE<A> annotType) |
ListSE<MimeType> | getDecodableMimeTypes() このデコーダーでサポートされている MIME 型のリストを返します。 |
ListSE<MimeType> | getDecodableMimeTypes(ResolvableType targetType) 指定された型の要素について、このデコーダーでサポートされている MIME 型のリストを返します。 |
MapSE<StringSE, ObjectSE> | getDecodeHints(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response) サーバーリクエストまたはターゲットコントローラーメソッドパラメーターのアノテーションに基づいてデコードヒントを取得します。 |
int | getMaxInMemorySize() configured バイトカウント制限を返します。 |
protected reactor.core.publisher.Flux<DataBuffer> | processInput(Publisher<DataBuffer> input, ResolvableType elementType, MimeType mimeType, MapSE<StringSE, ObjectSE> hints) 入力パブリッシャーを flux に処理します。 |
void | setMaxInMemorySize(int byteCount) このデコーダーでバッファーできる最大バイト数を設定します。 |
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 AbstractJackson2Decoder(ObjectMapper mapper, MimeType... mimeTypes)
ObjectMapper
を持つコンストラクター。public void setMaxInMemorySize(int byteCount)
DataBufferLimitException
が発生します。デフォルトでは、これは 256K に設定されています。
byteCount
- バッファリングする最大バイト数、または無制限の場合は -1public int getMaxInMemorySize()
configured
バイトカウント制限を返します。public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType)
Decoder
public reactor.core.publisher.Flux<ObjectSE> decode(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Decoder
DataBuffer
入力ストリームを T
の Flux にデコードします。Decoder<ObjectSE>
の decode
input
- デコードする DataBuffer
入力ストリーム elementType
- 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されている必要があり、true
を返している必要があります。mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- デコード方法に関する追加情報 protected reactor.core.publisher.Flux<DataBuffer> processInput(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Flux.from(Publisher)
が返されますが、サブクラスではこの動作をカスタマイズできます。input
- 処理する DataBuffer
入力ストリーム elementType
- 出力ストリームで予期される要素の型 mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- エンコード方法に関する追加情報 public reactor.core.publisher.Mono<ObjectSE> decodeToMono(Publisher<DataBuffer> input, ResolvableType elementType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints)
Decoder
DataBuffer
入力ストリームを T
の Mono にデコードします。Decoder<ObjectSE>
の decodeToMono
input
- デコードする DataBuffer
入力ストリーム elementType
- 出力ストリーム内の要素の予想される型。この型は、事前に Decoder.canDecode(org.springframework.core.ResolvableType, org.springframework.util.MimeType)
メソッドに渡されている必要があり、true
を返している必要があります。mimeType
- 入力ストリームに関連付けられた MIME 型 (オプション)hints
- デコード方法に関する追加情報 public ObjectSE decode(DataBuffer dataBuffer, ResolvableType targetType, @Nullable MimeType mimeType, @Nullable MapSE<StringSE,ObjectSE> hints) throws DecodingException
Decoder
Decoder<ObjectSE>
の decode
dataBuffer
- デコードする DataBuffer
targetType
- 予想される出力型 mimeType
- データに関連付けられた MIME 型 hints
- デコード方法に関する追加情報 null
DecodingException
public MapSE<StringSE,ObjectSE> getDecodeHints(ResolvableType actualType, ResolvableType elementType, ServerHttpRequest request, ServerHttpResponse response)
HttpMessageDecoder
HttpMessageDecoder<ObjectSE>
の getDecodeHints
actualType
- デコード先の実際のターゲット型、場合によってはリアクティブラッパーであり、MethodParameter
から供給されます。つまり、メソッドパラメーターアノテーションへのアクセスを提供します elementType
- デコードしようとしている Flux/Mono
内の要素型 request
- 現在のリクエスト response
- 現在のレスポンス public ListSE<MimeType> getDecodableMimeTypes()
Decoder
canDecode(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされている MIME 型を除外することもできます。または、Decoder.getDecodableMimeTypes(ResolvableType)
を使用してより正確なリストを作成します。Decoder<ObjectSE>
の getDecodableMimeTypes
public ListSE<MimeType> getDecodableMimeTypes(ResolvableType targetType)
Decoder
Decoder.getDecodableMimeTypes()
とは異なる場合があります。Decoder<ObjectSE>
の getDecodableMimeTypes
targetType
- デコードをチェックする要素の型 protected <A extends AnnotationSE> A getAnnotation(MethodParameter parameter, ClassSE<A> annotType)
Jackson2CodecSupport
の getAnnotation