public class MultipartHttpMessageWriter extends LoggingCodecSupport implements HttpMessageWriter<MultiValueMap<java.lang.String,?>>
MultiValueMap<String, ?>
をマルチパートフォームデータ、つまり "multipart/form-data"
としてリクエストの本文に書き込むための HttpMessageWriter
。 個々の部分の直列化は、他のライターに委譲されます。デフォルトでは、String
および Resource
パーツのみがサポートされていますが、コンストラクター引数を使用して他のパーツを構成できます。
このライターは、委譲先の FormHttpMessageWriter
で構成できます。これは、(各ライターを個別に登録するのではなく)フォームデータとマルチパートデータの両方をサポートするための推奨される方法です。これにより、MediaType
が指定されておらず、ジェネリクスがターゲット要素型に存在しない場合、実際のマップで値をインスペクションできます。プレーンフォームデータ(文字列値のみ)を書き込むかどうかを決定します。
FormHttpMessageWriter
修飾子と型 | フィールドと説明 |
---|---|
static java.nio.charset.Charset | DEFAULT_CHARSET ライターが使用するデフォルトの文字セット。 |
logger
コンストラクターと説明 |
---|
MultipartHttpMessageWriter() パーツライター(String および Resource)のデフォルトリストを持つコンストラクター。 |
MultipartHttpMessageWriter(java.util.List<HttpMessageWriter<?>> partWriters) パーツを直列化するためのライターの明示的なリストを持つコンストラクター。 |
MultipartHttpMessageWriter(java.util.List<HttpMessageWriter<?>> partWriters, HttpMessageWriter<MultiValueMap<java.lang.String,java.lang.String>> formWriter) メディア型が指定されておらず、実際のマップが文字列値のみで構成されている場合に、パーツを直列化するライターの明示的なリストとプレーンフォームデータのライターをフォールバックするコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canWrite(ResolvableType elementType, MediaType mediaType) 指定されたオブジェクト型がこのライターでサポートされているかどうか。 |
protected byte[] | generateMultipartBoundary() マルチパート境界を生成します。 |
java.nio.charset.Charset | getCharset() パーツヘッダーの構成された文字セットを返します。 |
java.util.List<HttpMessageWriter<?>> | getPartWriters() 構成されたパーツライターを返します。 |
java.util.List<MediaType> | getWritableMediaTypes() このライターがサポートする MediaType を返します。 |
void | setCharset(java.nio.charset.Charset charset) "Content-Disposition" (およびそのファイル名パラメーター)などのパーツヘッダーに使用する文字セットを設定します。 |
reactor.core.publisher.Mono<java.lang.Void> | write(org.reactivestreams.Publisher<? extends MultiValueMap<java.lang.String,?>> inputStream, ResolvableType elementType, MediaType mediaType, ReactiveHttpOutputMessage outputMessage, java.util.Map<java.lang.String,java.lang.Object> hints) オブジェクトの特定のストリームを出力メッセージに書き込みます。 |
isEnableLoggingRequestDetails, setEnableLoggingRequestDetails
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
write
public static final java.nio.charset.Charset DEFAULT_CHARSET
public MultipartHttpMessageWriter()
public MultipartHttpMessageWriter(java.util.List<HttpMessageWriter<?>> partWriters)
public MultipartHttpMessageWriter(java.util.List<HttpMessageWriter<?>> partWriters, @Nullable HttpMessageWriter<MultiValueMap<java.lang.String,java.lang.String>> formWriter)
partWriters
- パーツをシリアライズするためのライター formWriter
- フォームデータのフォールバックライター、デフォルトでは null
public java.util.List<HttpMessageWriter<?>> getPartWriters()
public void setCharset(java.nio.charset.Charset charset)
デフォルトでは、これは "UTF-8" に設定されています。
public java.nio.charset.Charset getCharset()
public java.util.List<MediaType> getWritableMediaTypes()
HttpMessageWriter
MediaType
を返します。HttpMessageWriter<MultiValueMap<java.lang.String,?>>
の getWritableMediaTypes
public boolean canWrite(ResolvableType elementType, @Nullable MediaType mediaType)
HttpMessageWriter
HttpMessageWriter<MultiValueMap<java.lang.String,?>>
の canWrite
elementType
- チェックするオブジェクトの型 mediaType
- 書き込み用のメディア型、おそらく null
true
、それ以外の場合は false
public reactor.core.publisher.Mono<java.lang.Void> write(org.reactivestreams.Publisher<? extends MultiValueMap<java.lang.String,?>> inputStream, ResolvableType elementType, @Nullable MediaType mediaType, ReactiveHttpOutputMessage outputMessage, java.util.Map<java.lang.String,java.lang.Object> hints)
HttpMessageWriter
HttpMessageWriter<MultiValueMap<java.lang.String,?>>
の write
inputStream
- 書き込むオブジェクト elementType
- HttpMessageWriter.canWrite(ResolvableType, MediaType)
を介して事前にチェックされている必要があるストリーム内のオブジェクトの型 mediaType
- 書き込みのコンテンツ型。null
の場合は、ライターのデフォルトのコンテンツ型を使用する必要があることを示します。outputMessage
- 書き込むメッセージ hints
- エンコードおよび書き込み方法に関する追加情報 protected byte[] generateMultipartBoundary()
デフォルトでは MimeTypeUtils.generateMultipartBoundary()
に委譲します。