类 ResourceHttpMessageConverter
java.lang.Object
cn.taketoday.http.converter.AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>
cn.taketoday.http.converter.ResourceHttpMessageConverter
- 所有已实现的接口:
HttpMessageConverter<cn.taketoday.core.io.Resource>
public class ResourceHttpMessageConverter
extends AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>
Implementation of
HttpMessageConverter that can read/write Resources
and supports byte range requests.
By default, this converter can read all media types. The MediaType is used
to determine the Content-Type of written resources.
- 从以下版本开始:
- 4.0
- 作者:
- Arjen Poutsma, Juergen Hoeller, Kazuki Shimizu
-
字段概要
字段从类继承的字段 cn.taketoday.http.converter.AbstractHttpMessageConverter
logger -
构造器概要
构造器构造器说明Create a new instance of theResourceHttpMessageConverterthat supports read streaming, i.e. can convert anHttpInputMessagetoInputStreamResource.ResourceHttpMessageConverter(boolean supportsReadStreaming) Create a new instance of theResourceHttpMessageConverter. -
方法概要
修饰符和类型方法说明voidaddDefaultHeaders(HttpOutputMessage message, cn.taketoday.core.io.Resource resource, MediaType contentType) Adds the default headers for the given resource to the given message.protected LonggetContentLength(cn.taketoday.core.io.Resource resource, MediaType contentType) Returns the content length for the given type.protected MediaTypegetDefaultContentType(cn.taketoday.core.io.Resource resource) Returns the default content type for the given type.protected cn.taketoday.core.io.ResourcereadInternal(Class<? extends cn.taketoday.core.io.Resource> clazz, HttpInputMessage inputMessage) Abstract template method that reads the actual object.protected booleanIndicates whether the given class is supported by this converter.protected voidwriteContent(cn.taketoday.core.io.Resource resource, HttpOutputMessage outputMessage) protected voidwriteInternal(cn.taketoday.core.io.Resource resource, HttpOutputMessage outputMessage) Abstract template method that writes the actual body.从类继承的方法 cn.taketoday.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, canWrite, getDefaultCharset, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.taketoday.http.converter.HttpMessageConverter
getSupportedMediaTypes
-
字段详细资料
-
supportsReadStreaming
private final boolean supportsReadStreaming
-
-
构造器详细资料
-
ResourceHttpMessageConverter
public ResourceHttpMessageConverter()Create a new instance of theResourceHttpMessageConverterthat supports read streaming, i.e. can convert anHttpInputMessagetoInputStreamResource. -
ResourceHttpMessageConverter
public ResourceHttpMessageConverter(boolean supportsReadStreaming) Create a new instance of theResourceHttpMessageConverter.- 参数:
supportsReadStreaming- whether the converter should support read streaming, i.e. convert toInputStreamResource- 从以下版本开始:
- 4.0
-
-
方法详细资料
-
supports
从类复制的说明:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- 指定者:
supports在类中AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>- 参数:
clazz- the class to test for support- 返回:
trueif supported;falseotherwise
-
readInternal
protected cn.taketoday.core.io.Resource readInternal(Class<? extends cn.taketoday.core.io.Resource> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException 从类复制的说明:AbstractHttpMessageConverterAbstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, cn.taketoday.http.HttpInputMessage).- 指定者:
readInternal在类中AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>- 参数:
clazz- the type of object to returninputMessage- the HTTP input message to read from- 返回:
- the converted object
- 抛出:
IOException- in case of I/O errorsHttpMessageNotReadableException- in case of conversion errors
-
getDefaultContentType
从类复制的说明:AbstractHttpMessageConverterReturns the default content type for the given type. Called whenAbstractHttpMessageConverter.write(T, cn.taketoday.http.MediaType, cn.taketoday.http.HttpOutputMessage)is invoked without a specified content type parameter.By default, this returns the first element of the
supportedMediaTypesproperty, if any. Can be overridden in subclasses.- 覆盖:
getDefaultContentType在类中AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>- 参数:
resource- the type to return the content type for- 返回:
- the content type, or
nullif not known
-
getContentLength
protected Long getContentLength(cn.taketoday.core.io.Resource resource, @Nullable MediaType contentType) throws IOException 从类复制的说明:AbstractHttpMessageConverterReturns the content length for the given type.By default, this returns
null, meaning that the content length is unknown. Can be overridden in subclasses.- 覆盖:
getContentLength在类中AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>- 参数:
resource- the type to return the content length for- 返回:
- the content length, or
nullif not known - 抛出:
IOException
-
addDefaultHeaders
public void addDefaultHeaders(HttpOutputMessage message, cn.taketoday.core.io.Resource resource, @Nullable MediaType contentType) throws IOException Adds the default headers for the given resource to the given message.- 抛出:
IOException
-
writeInternal
protected void writeInternal(cn.taketoday.core.io.Resource resource, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException 从类复制的说明:AbstractHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, cn.taketoday.http.MediaType, cn.taketoday.http.HttpOutputMessage).- 指定者:
writeInternal在类中AbstractHttpMessageConverter<cn.taketoday.core.io.Resource>- 参数:
resource- the object to write to the output messageoutputMessage- the HTTP output message to write to- 抛出:
IOException- in case of I/O errorsHttpMessageNotWritableException- in case of conversion errors
-
writeContent
protected void writeContent(cn.taketoday.core.io.Resource resource, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
-