public abstract class AbstractHttpMessageConverter<T> extends ObjectSE implements HttpMessageConverter<T>
HttpMessageConverter 実装の抽象基本クラス。 この基本クラスは、supportedMediaTypes Bean プロパティを介して、サポートされる MediaTypes の設定のサポートを追加します。また、出力メッセージへの書き込み時に Content-Type および Content-Length のサポートを追加します。
| 修飾子 | コンストラクターと説明 |
|---|---|
protected | AbstractHttpMessageConverter() サポートされているメディア型なしで AbstractHttpMessageConverter を構築します。 |
protected | AbstractHttpMessageConverter(CharsetSE defaultCharset, MediaType... supportedMediaTypes) デフォルトの文字セットとサポートされている複数のメディア型で AbstractHttpMessageConverter を構築します。 |
protected | AbstractHttpMessageConverter(MediaType... supportedMediaTypes) サポートされている複数のメディア型で AbstractHttpMessageConverter を構築します。 |
protected | AbstractHttpMessageConverter(MediaType supportedMediaType) サポートされている 1 つのメディア型で AbstractHttpMessageConverter を構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void | addDefaultHeaders(HttpHeaders headers, T t, MediaType contentType) 出力メッセージにデフォルトのヘッダーを追加します。 |
boolean | canRead(ClassSE<?> clazz, MediaType mediaType) この実装は、指定されたクラスがサポートされているかどうか、およびサポートされているメディア型 に指定されたメディア型が 含まれているかどうかをチェックします。 |
protected boolean | canRead(MediaType mediaType) |
boolean | canWrite(ClassSE<?> clazz, MediaType mediaType) |
protected boolean | canWrite(MediaType mediaType) 指定されたメディア型にサポートされているメディア型のいずれかが含まれている場合、 true を返します。 |
protected LongSE | getContentLength(T t, MediaType contentType) 指定された型のコンテンツの長さを返します。 |
CharsetSE | getDefaultCharset() デフォルトの文字セットがあれば返します。 |
protected MediaType | getDefaultContentType(T t) 指定された型のデフォルトのコンテンツ型を返します。 |
ListSE<MediaType> | getSupportedMediaTypes() このコンバーターがサポートする MediaType オブジェクトのリストを返します。 |
T | read(ClassSE<? extends T> clazz, HttpInputMessage inputMessage) この実装は、 readInternal(Class, HttpInputMessage) への単純なデリゲートです。 |
protected abstract T | readInternal(ClassSE<? extends T> clazz, HttpInputMessage inputMessage) 実際のオブジェクトを読み取る抽象テンプレートメソッド。 |
void | setDefaultCharset(CharsetSE defaultCharset) デフォルトの文字セットがある場合は設定します。 |
void | setSupportedMediaTypes(ListSE<MediaType> supportedMediaTypes) このコンバーターによってサポートされる MediaType オブジェクトのリストを設定します。 |
protected abstract boolean | supports(ClassSE<?> clazz) 指定されたクラスがこのコンバーターでサポートされているかどうかを示します。 |
void | write(T t, MediaType contentType, HttpOutputMessage outputMessage) この実装は、 addDefaultHeaders(org.springframework.http.HttpHeaders, T, org.springframework.http.MediaType) を呼び出してデフォルトのヘッダーを設定し、次に writeInternal(T, org.springframework.http.HttpOutputMessage) を呼び出します。 |
protected abstract void | writeInternal(T t, HttpOutputMessage outputMessage) 実際の本文を書き込む抽象テンプレートメソッド。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEprotected final Log logger
protected AbstractHttpMessageConverter()
AbstractHttpMessageConverter を構築します。protected AbstractHttpMessageConverter(MediaType supportedMediaType)
AbstractHttpMessageConverter を構築します。supportedMediaType - サポートされているメディア型 protected AbstractHttpMessageConverter(MediaType... supportedMediaTypes)
AbstractHttpMessageConverter を構築します。supportedMediaTypes - サポートされているメディア型 public void setSupportedMediaTypes(ListSE<MediaType> supportedMediaTypes)
MediaType オブジェクトのリストを設定します。public ListSE<MediaType> getSupportedMediaTypes()
HttpMessageConverterMediaType オブジェクトのリストを返します。HttpMessageConverter<T> の getSupportedMediaTypes public void setDefaultCharset(@Nullable CharsetSE defaultCharset)
public boolean canRead(ClassSE<?> clazz, @Nullable MediaType mediaType)
HttpMessageConverter<T> の canRead clazz - 読み込み可能性をテストするクラス mediaType - 読み取るメディア型(指定しない場合は null にできます); 通常、Content-Type ヘッダーの値。true。それ以外の場合は false protected boolean canRead(@Nullable MediaType mediaType)
mediaType - 読み取るメディア型は、指定しない場合は null にできます。通常、Content-Type ヘッダーの値。null の場合、true public boolean canWrite(ClassSE<?> clazz, @Nullable MediaType mediaType)
HttpMessageConverter<T> の canWrite clazz - 書き込み可能性をテストするクラス mediaType - 書き込むメディア型(指定しない場合は null にすることができます); 通常、Accept ヘッダーの値。true。それ以外の場合は false protected boolean canWrite(@Nullable MediaType mediaType)
true を返します。mediaType - 書き込むメディア型は、指定しない場合は null にできます。通常、Accept ヘッダーの値。null である場合は、true public final T read(ClassSE<? extends T> clazz, HttpInputMessage inputMessage) throws IOExceptionSE
readInternal(Class, HttpInputMessage) への単純なデリゲートです。ただし、将来の実装ではデフォルトの動作が追加される可能性があります。HttpMessageConverter<T> の read clazz - 返すオブジェクトの型。この型は、このインターフェースの canRead メソッドに事前に渡されている必要があります。このメソッドは true を返している必要があります。inputMessage - 読み込む HTTP 入力メッセージ IOExceptionSE - I/O エラーの場合 public final void write(T t, @Nullable MediaType contentType, HttpOutputMessage outputMessage) throws IOExceptionSE, HttpMessageNotWritableException
addDefaultHeaders(org.springframework.http.HttpHeaders, T, org.springframework.http.MediaType) を呼び出してデフォルトのヘッダーを設定し、次に writeInternal(T, org.springframework.http.HttpOutputMessage) を呼び出します。HttpMessageConverter<T> の write t - 出力メッセージに書き込むオブジェクト。このオブジェクトの型は、このインターフェースの canWrite メソッドに事前に渡されている必要があります。このメソッドは true を返している必要があります。contentType - 書き込み時に使用するコンテンツ型。コンバーターのデフォルトのコンテンツ型を使用する必要があることを示す null の場合があります。null でない場合、このメディア型は、このインターフェースの canWrite メソッドに事前に渡されている必要があり、true が返されている必要があります。outputMessage - 書き込むメッセージ IOExceptionSE - I/O エラーの場合 HttpMessageNotWritableException - 変換エラーの場合 protected void addDefaultHeaders(HttpHeaders headers, T t, @Nullable MediaType contentType) throws IOExceptionSE
この実装は、コンテンツ型が提供されない場合は getDefaultContentType(Object) に委譲し、必要に応じてデフォルトの文字セットを設定し、getContentLength(T, org.springframework.http.MediaType) を呼び出し、対応するヘッダーを設定します。
IOExceptionSE@Nullable protected MediaType getDefaultContentType(T t) throws IOExceptionSE
write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage) が呼び出されたときに呼び出されます。 デフォルトでは、supportedMediaTypes プロパティの最初の要素があれば、それを返します。サブクラスでオーバーライドできます。
t - コンテンツ型を返す型 null IOExceptionSE@Nullable protected LongSE getContentLength(T t, @Nullable MediaType contentType) throws IOExceptionSE
デフォルトでは、これは null を返します。これは、コンテンツの長さが不明であることを意味します。サブクラスでオーバーライドできます。
t - コンテンツの長さを返す型 null IOExceptionSEprotected abstract boolean supports(ClassSE<?> clazz)
clazz - サポートをテストするクラス true。それ以外の場合は false protected abstract T readInternal(ClassSE<? extends T> clazz, HttpInputMessage inputMessage) throws IOExceptionSE, HttpMessageNotReadableException
read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage) から呼び出されます。clazz - 返すオブジェクトの型 inputMessage - 読み込む HTTP 入力メッセージ IOExceptionSE - I/O エラーの場合 HttpMessageNotReadableException - 変換エラーの場合 protected abstract void writeInternal(T t, HttpOutputMessage outputMessage) throws IOExceptionSE, HttpMessageNotWritableException
write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage) から呼び出されます。t - 出力メッセージに書き込むオブジェクト outputMessage - 書き込む HTTP 出力メッセージ IOExceptionSE - I/O エラーの場合 HttpMessageNotWritableException - 変換エラーの場合