public class FormHttpMessageWriter extends LoggingCodecSupport implements HttpMessageWriter<MultiValueMap<StringSE,StringSE>>
MultiValueMap<String, String>
を HTML フォームデータ、つまり "application/x-www-form-urlencoded"
としてリクエストの本文に書き込むための HttpMessageWriter
。 メディア型が明示的に MediaType.APPLICATION_FORM_URLENCODED
に設定されていない限り、canWrite(org.springframework.core.ResolvableType, org.springframework.http.MediaType)
メソッドは、ターゲットマップに文字列値があることを確認するためにジェネリクス型情報を必要とすることに注意してください。これは、文字列以外の値を持つ MultiValueMap を使用してマルチパートリクエストを書き込むことができるためです。
フォームデータとマルチパートリクエストの両方をサポートするには、このライターで構成された MultipartHttpMessageWriter
をプレーンフォームデータを書き込むためのフォールバックとして使用することを検討してください。
MultipartHttpMessageWriter
修飾子と型 | フィールドと説明 |
---|---|
static CharsetSE | DEFAULT_CHARSET ライターが使用するデフォルトの文字セット。 |
logger
コンストラクターと説明 |
---|
FormHttpMessageWriter() |
修飾子と型 | メソッドと説明 |
---|---|
boolean | canWrite(ResolvableType elementType, MediaType mediaType) 指定されたオブジェクト型がこのライターでサポートされているかどうか。 |
CharsetSE | getDefaultCharset() 設定されたデフォルトの文字セットを返します。 |
protected MediaType | getMediaType(MediaType mediaType) |
ListSE<MediaType> | getWritableMediaTypes() このライターでサポートされているメディア型のリストを返します。 |
protected StringSE | serializeForm(MultiValueMap<StringSE, StringSE> formData, CharsetSE charset) |
void | setDefaultCharset(CharsetSE charset) レスポンスの Content-Type ヘッダーで明示的に指定されていない場合に、フォームデータの書き込みに使用するデフォルトの文字セットを設定します。 |
reactor.core.publisher.Mono<VoidSE> | write(org.reactivestreams.Publisher<? extends MultiValueMap<StringSE, StringSE>> inputStream, ResolvableType elementType, MediaType mediaType, ReactiveHttpOutputMessage message, MapSE<StringSE, ObjectSE> hints) オブジェクトの特定のストリームを出力メッセージに書き込みます。 |
isEnableLoggingRequestDetails, setEnableLoggingRequestDetails
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getWritableMediaTypes, write
public static final CharsetSE DEFAULT_CHARSET
public void setDefaultCharset(CharsetSE charset)
デフォルトでは、これは "UTF-8" に設定されています。
public CharsetSE getDefaultCharset()
public ListSE<MediaType> getWritableMediaTypes()
HttpMessageWriter
canWrite(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされているメディア型を除外することもできます。または、HttpMessageWriter.getWritableMediaTypes(ResolvableType)
を使用してより正確なリストを作成します。HttpMessageWriter<MultiValueMap<StringSE, StringSE>>
の getWritableMediaTypes
public boolean canWrite(ResolvableType elementType, @Nullable MediaType mediaType)
HttpMessageWriter
HttpMessageWriter<MultiValueMap<StringSE, StringSE>>
の canWrite
elementType
- チェックするオブジェクトの型 mediaType
- 書き込みのメディア型 (おそらく null
)true
、それ以外の場合は false
public reactor.core.publisher.Mono<VoidSE> write(org.reactivestreams.Publisher<? extends MultiValueMap<StringSE,StringSE>> inputStream, ResolvableType elementType, @Nullable MediaType mediaType, ReactiveHttpOutputMessage message, MapSE<StringSE,ObjectSE> hints)
HttpMessageWriter
HttpMessageWriter<MultiValueMap<StringSE, StringSE>>
の write
inputStream
- 書き込むオブジェクト elementType
- HttpMessageWriter.canWrite(ResolvableType, MediaType)
を介して事前にチェックされている必要があるストリーム内のオブジェクトの型 mediaType
- 書き込みのコンテンツ型 (ライターのデフォルトのコンテンツ型を使用する必要があることを示す null
)message
- 書き込むメッセージ hints
- エンコードおよび書き込み方法に関する追加情報 protected StringSE serializeForm(MultiValueMap<StringSE,StringSE> formData, CharsetSE charset)