クラス FormHttpMessageWriter

java.lang.ObjectSE
org.springframework.http.codec.LoggingCodecSupport
org.springframework.http.codec.FormHttpMessageWriter
実装されたすべてのインターフェース:
HttpMessageWriter<MultiValueMap<StringSE,StringSE>>

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 をプレーンフォームデータを書き込むためのフォールバックとして使用することを検討してください。

導入:
5.0
作成者:
Sebastien Deleuze, Rossen Stoyanchev
関連事項:
  • フィールドの詳細

    • DEFAULT_CHARSET

      public static final CharsetSE DEFAULT_CHARSET
      ライターが使用するデフォルトの文字セット。
  • コンストラクターの詳細

    • FormHttpMessageWriter

      public FormHttpMessageWriter()
  • メソッドの詳細

    • setDefaultCharset

      public void setDefaultCharset(CharsetSE charset)
      レスポンスの Content-Type ヘッダーで明示的に指定されていない場合に、フォームデータの書き込みに使用するデフォルトの文字セットを設定します。

      デフォルトでは、これは "UTF-8" に設定されています。

    • getDefaultCharset

      public CharsetSE getDefaultCharset()
      設定されたデフォルトの文字セットを返します。
    • getWritableMediaTypes

      public ListSE<MediaType> getWritableMediaTypes()
      インターフェースからコピーされた説明: HttpMessageWriter
      このライターでサポートされているメディア型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canWrite(elementType, null) を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされているメディア型を除外することもできます。または、HttpMessageWriter.getWritableMediaTypes(ResolvableType) を使用してより正確なリストを作成します。
      次で指定:
      インターフェース HttpMessageWriter<MultiValueMap<StringSE,StringSE>>getWritableMediaTypes 
      戻り値:
      サポートされているメディア型の一般的なリスト
    • canWrite

      public boolean canWrite(ResolvableType elementType, @Nullable MediaType mediaType)
      インターフェースからコピーされた説明: HttpMessageWriter
      指定されたオブジェクト型がこのライターでサポートされているかどうか。
      次で指定:
      インターフェース HttpMessageWriter<MultiValueMap<StringSE,StringSE>>canWrite 
      パラメーター:
      elementType - チェックするオブジェクトの型
      mediaType - 書き込みのメディア型 (おそらく null)
      戻り値:
      書き込み可能な場合は true、それ以外の場合は false 
    • write

      public reactor.core.publisher.Mono<VoidSE> write(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 - エンコードおよび書き込み方法に関する追加情報
      戻り値:
      完了またはエラーを示します
    • getMediaType

      protected MediaType getMediaType(@Nullable MediaType mediaType)
    • serializeForm

      protected StringSE serializeForm(MultiValueMap<StringSE,StringSE> formData, CharsetSE charset)