Package org.springframework.http.converter.protobuf

# Class ProtobufJsonFormatHttpMessageConverter

java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<com.google.protobuf.Message>
org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter
org.springframework.http.converter.protobuf.ProtobufJsonFormatHttpMessageConverter

All Implemented Interfaces:
  `HttpMessageConverter<com.google.protobuf.Message>`

public class ProtobufJsonFormatHttpMessageConverter extends ProtobufHttpMessageConverter
Subclass of `ProtobufHttpMessageConverter` which enforces the use of Protobuf 3 and its official library `"com.google.protobuf:protobuf-java-util"` for JSON processing.

Most importantly, this class allows for custom JSON parser and printer configurations through the `JsonFormat` utility. If no special parser or printer configuration is given, default variants will be used instead.

Requires Protobuf 3.x and `"com.google.protobuf:protobuf-java-util"` 3.x, with 3.3 or higher recommended.

Since:
  5.0
Author:
  Juergen Hoeller, Sebastien Deleuze
See Also:
  - `JsonFormat.parser()`
  - `JsonFormat.printer()`
  - `ProtobufJsonFormatHttpMessageConverter(com.google.protobuf.util.JsonFormat.Parser, com.google.protobuf.util.JsonFormat.Printer)`

## Field Summary

### Fields inherited from class org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter

`DEFAULT_CHARSET, PROTOBUF, X_PROTOBUF_MESSAGE_HEADER, X_PROTOBUF_SCHEMA_HEADER`

### Fields inherited from class org.springframework.http.converter.AbstractHttpMessageConverter

`logger`

## Constructor Summary

Constructors
Constructor
Description
`ProtobufJsonFormatHttpMessageConverter()`
Constructor with default instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and `ExtensionRegistry`.
`ProtobufJsonFormatHttpMessageConverter(com.google.protobuf.util.JsonFormat.Parser parser, com.google.protobuf.util.JsonFormat.Printer printer)`
Constructor with given instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and a default instance of `ExtensionRegistry`.
`ProtobufJsonFormatHttpMessageConverter(com.google.protobuf.util.JsonFormat.Parser parser, com.google.protobuf.util.JsonFormat.Printer printer, com.google.protobuf.ExtensionRegistry extensionRegistry)`
Constructor with given instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and `ExtensionRegistry`.

## Method Summary

### Methods inherited from class org.springframework.http.converter.protobuf.ProtobufHttpMessageConverter

`canWrite, getDefaultContentType, readInternal, supports, supportsRepeatableWrites, writeInternal`

### Methods inherited from class org.springframework.http.converter.AbstractHttpMessageConverter

`addDefaultHeaders, canRead, canRead, canWrite, getContentLength, getDefaultCharset, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, write`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.http.converter.HttpMessageConverter

`getSupportedMediaTypes`

## Constructor Details

### ProtobufJsonFormatHttpMessageConverter

public ProtobufJsonFormatHttpMessageConverter()
Constructor with default instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and `ExtensionRegistry`.

### ProtobufJsonFormatHttpMessageConverter

public ProtobufJsonFormatHttpMessageConverter(@Nullable com.google.protobuf.util.JsonFormat.Parser parser, @Nullable com.google.protobuf.util.JsonFormat.Printer printer)
Constructor with given instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and a default instance of `ExtensionRegistry`.

### ProtobufJsonFormatHttpMessageConverter

public ProtobufJsonFormatHttpMessageConverter(@Nullable com.google.protobuf.util.JsonFormat.Parser parser, @Nullable com.google.protobuf.util.JsonFormat.Printer printer, @Nullable com.google.protobuf.ExtensionRegistry extensionRegistry)
Constructor with given instances of `JsonFormat.Parser`, `JsonFormat.Printer`, and `ExtensionRegistry`.