类 ProtobufHttpMessageConverter
- java.lang.Object
- org.springframework.http.converter.AbstractHttpMessageConverter<com.google.protobuf.Message>
- org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter
- 所有已实现的接口:
HttpMessageConverter<com.google.protobuf.Message>
public class ProtobufHttpMessageConverter extends AbstractHttpMessageConverter<com.google.protobuf.Message>
AnHttpMessageConverterthat reads and writescom.google.protobuf.Messagesusing Google Protocol Buffers.To generate
MessageJava classes, you need to install theprotocbinary.This converter supports by default
"application/x-protobuf"and"text/plain"with the official"com.google.protobuf:protobuf-java"library. Other formats can be supported with one of the following additional libraries on the classpath:"application/json","application/xml", and"text/html"(write-only) with the"com.googlecode.protobuf-java-format:protobuf-java-format"third-party library"application/json"with the official"com.google.protobuf:protobuf-java-util"for Protobuf 3 (seeProtobufJsonFormatHttpMessageConverterfor a configurable variant)
Requires Protobuf 2.6 or higher (and Protobuf Java Format 1.4 or higher for formatting). This converter will auto-adapt to Protobuf 3 and its default
protobuf-java-utilJSON format if the Protobuf 2 basedprotobuf-java-formatisn't present; however, for more explicit JSON setup on Protobuf 3, considerProtobufJsonFormatHttpMessageConverter.- 从以下版本开始:
- 4.1
- 作者:
- Alex Antonov, Brian Clozel, Juergen Hoeller, Sebastien Deleuze
- 另请参阅:
FormatFactory,JsonFormat,ProtobufJsonFormatHttpMessageConverter
字段概要
字段 修饰符和类型 字段 说明 static CharsetDEFAULT_CHARSETThe default charset used by the converter.static MediaTypePROTOBUFThe media-type for protobufapplication/x-protobuf.static StringX_PROTOBUF_MESSAGE_HEADERThe HTTP header containing the protobuf message.static StringX_PROTOBUF_SCHEMA_HEADERThe HTTP header containing the protobuf schema.从类继承的字段 org.springframework.http.converter.AbstractHttpMessageConverter
logger
构造器概要
构造器 构造器 说明 ProtobufHttpMessageConverter()Construct a newProtobufHttpMessageConverter.ProtobufHttpMessageConverter(com.google.protobuf.ExtensionRegistry extensionRegistry)Construct a newProtobufHttpMessageConverterwith a registry that specifies protocol message extensions.ProtobufHttpMessageConverter(ExtensionRegistryInitializer registryInitializer)已过时。as of Spring Framework 5.1, useProtobufHttpMessageConverter(ExtensionRegistry)instead
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected booleancanWrite(MediaType mediaType)Returnstrueif the given media type includes any of the supported media types.protected MediaTypegetDefaultContentType(com.google.protobuf.Message message)Returns the default content type for the given type.protected com.google.protobuf.MessagereadInternal(Class<? extends com.google.protobuf.Message> clazz, HttpInputMessage inputMessage)Abstract template method that reads the actual object.protected booleansupports(Class<?> clazz)Indicates whether the given class is supported by this converter.protected voidwriteInternal(com.google.protobuf.Message message, HttpOutputMessage outputMessage)Abstract template method that writes the actual body.从类继承的方法 org.springframework.http.converter.AbstractHttpMessageConverter
addDefaultHeaders, canRead, canRead, canWrite, getContentLength, getDefaultCharset, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write
字段详细资料
DEFAULT_CHARSET
public static final Charset DEFAULT_CHARSET
The default charset used by the converter.
X_PROTOBUF_SCHEMA_HEADER
public static final String X_PROTOBUF_SCHEMA_HEADER
The HTTP header containing the protobuf schema.- 另请参阅:
- 常量字段值
X_PROTOBUF_MESSAGE_HEADER
public static final String X_PROTOBUF_MESSAGE_HEADER
The HTTP header containing the protobuf message.- 另请参阅:
- 常量字段值
构造器详细资料
ProtobufHttpMessageConverter
public ProtobufHttpMessageConverter()
Construct a newProtobufHttpMessageConverter.
ProtobufHttpMessageConverter
@Deprecated public ProtobufHttpMessageConverter(@Nullable ExtensionRegistryInitializer registryInitializer)
已过时。as of Spring Framework 5.1, useProtobufHttpMessageConverter(ExtensionRegistry)insteadConstruct a newProtobufHttpMessageConverterwith an initializer that allows the registration of message extensions.- 参数:
registryInitializer- an initializer for message extensions
ProtobufHttpMessageConverter
public ProtobufHttpMessageConverter(com.google.protobuf.ExtensionRegistry extensionRegistry)
Construct a newProtobufHttpMessageConverterwith a registry that specifies protocol message extensions.- 参数:
extensionRegistry- the registry to populate
方法详细资料
supports
protected boolean supports(Class<?> clazz)
从类复制的说明:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- 指定者:
supports在类中AbstractHttpMessageConverter<com.google.protobuf.Message>- 参数:
clazz- the class to test for support- 返回:
trueif supported;falseotherwise
getDefaultContentType
protected MediaType getDefaultContentType(com.google.protobuf.Message message)
从类复制的说明:AbstractHttpMessageConverterReturns the default content type for the given type. Called whenAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.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<com.google.protobuf.Message>- 参数:
message- the type to return the content type for- 返回:
- the content type, or
nullif not known
readInternal
protected com.google.protobuf.Message readInternal(Class<? extends com.google.protobuf.Message> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException
从类复制的说明:AbstractHttpMessageConverterAbstract template method that reads the actual object. Invoked fromAbstractHttpMessageConverter.read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage).- 指定者:
readInternal在类中AbstractHttpMessageConverter<com.google.protobuf.Message>- 参数:
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
canWrite
protected boolean canWrite(@Nullable MediaType mediaType)
从类复制的说明:AbstractHttpMessageConverterReturnstrueif the given media type includes any of the supported media types.- 覆盖:
canWrite在类中AbstractHttpMessageConverter<com.google.protobuf.Message>- 参数:
mediaType- the media type to write, can benullif not specified. Typically the value of anAcceptheader.- 返回:
trueif the supported media types are compatible with the media type, or if the media type isnull
writeInternal
protected void writeInternal(com.google.protobuf.Message message, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException
从类复制的说明:AbstractHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractHttpMessageConverter.write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage).- 指定者:
writeInternal在类中AbstractHttpMessageConverter<com.google.protobuf.Message>- 参数:
message- 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