## Uses of Interface
org.springframework.http.converter.HttpMessageConverter

- Packages that use HttpMessageConverter
  Package | Description
  --- | ---
  org.springframework.http.converter | Provides an HttpMessageConverter abstraction to convert between Java objects and HTTP input/output messages.
  org.springframework.http.converter.cbor | Provides an HttpMessageConverter for the CBOR data format.
  org.springframework.http.converter.feed | Provides HttpMessageConverter implementations for handling Atom and RSS feeds.
  org.springframework.http.converter.json | Provides HttpMessageConverter implementations for handling JSON.
  org.springframework.http.converter.protobuf | Provides an HttpMessageConverter implementation for handling Google Protocol Buffers.
  org.springframework.http.converter.smile | Provides an HttpMessageConverter for the Smile data format ("binary JSON").
  org.springframework.http.converter.support | Provides a comprehensive HttpMessageConverter variant for form handling.
  org.springframework.http.converter.xml | Provides HttpMessageConverter implementations for handling XML.
  org.springframework.test.web.servlet.client | Support for testing Spring MVC applications via `WebTestClient` with `MockMvc` for server request handling.
  org.springframework.test.web.servlet.setup | Contains built-in `MockMvcBuilder` implementations.
  org.springframework.web.client | Core package of the client-side web support.
  org.springframework.web.servlet.config.annotation | Annotation-based setup for Spring MVC.
  org.springframework.web.servlet.function | Provides the types that make up Spring's functional web framework for Servlet environments.
  org.springframework.web.servlet.function.support | Classes supporting the `org.springframework.web.servlet.function` package.
  org.springframework.web.servlet.mvc.method.annotation | MVC infrastructure for annotation-based handler method processing, building on the `org.springframework.web.method.annotation` package.

- - ### Uses of HttpMessageConverter in org.springframework.http.converter

    Subinterfaces of HttpMessageConverter in org.springframework.http.converter
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `GenericHttpMessageConverter<T>` A specialization of `HttpMessageConverter` that can convert an HTTP request into a target object of a specified generic type and a source object of a specified generic type into an HTTP response.

    Classes in org.springframework.http.converter that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractGenericHttpMessageConverter<T>` Abstract base class for most `GenericHttpMessageConverter` implementations.
    `class` | `AbstractHttpMessageConverter<T>` Abstract base class for most `HttpMessageConverter` implementations.
    `class` | `BufferedImageHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write `BufferedImages`.
    `class` | `ByteArrayHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write byte arrays.
    `class` | `FormHttpMessageConverter` Implementation of `HttpMessageConverter` to read and write 'normal' HTML forms and also to write (but not read) multipart data (e.g.
    `class` | `ObjectToStringHttpMessageConverter` An `HttpMessageConverter` that uses `StringHttpMessageConverter` for reading and writing content and a `ConversionService` for converting the String content to and from the target object type.
    `class` | `ResourceHttpMessageConverter` Implementation of `HttpMessageConverter` that can read/write `Resources` and supports byte range requests.
    `class` | `ResourceRegionHttpMessageConverter` Implementation of `HttpMessageConverter` that can write a single `ResourceRegion` or Collections of `ResourceRegions`.
    `class` | `StringHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write strings.

    Methods in org.springframework.http.converter that return types with arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `List<HttpMessageConverter<?>>` | FormHttpMessageConverter.`getPartConverters()` Return the configured converters for MIME parts.

    Methods in org.springframework.http.converter with parameters of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `void` | FormHttpMessageConverter.`addPartConverter(HttpMessageConverter<?> partConverter)` Add a message body converter.

    Method parameters in org.springframework.http.converter with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `void` | FormHttpMessageConverter.`setPartConverters(List<HttpMessageConverter<?>> partConverters)` Set the message body converters to use.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.cbor

    Classes in org.springframework.http.converter.cbor that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MappingJackson2CborHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write the CBOR data format using the dedicated Jackson 2.x extension.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.feed

    Classes in org.springframework.http.converter.feed that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractWireFeedHttpMessageConverter<T extends com.rometools.rome.feed.WireFeed>` Abstract base class for Atom and RSS Feed message converters, using the ROME tools project.
    `class` | `AtomFeedHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write Atom feeds.
    `class` | `RssChannelHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write RSS feeds.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.json

    Classes in org.springframework.http.converter.json that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJackson2HttpMessageConverter` Abstract base class for Jackson based and content type independent `HttpMessageConverter` implementations.
    `class` | `AbstractJsonHttpMessageConverter` Common base class for plain JSON converters, e.g.
    `class` | `GsonHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write JSON using the Google Gson library.
    `class` | `JsonbHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write JSON using the JSON Binding API.
    `class` | `KotlinSerializationJsonHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write JSON using kotlinx.serialization.
    `class` | `MappingJackson2HttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write JSON using Jackson 2.x's `ObjectMapper`.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.protobuf

    Classes in org.springframework.http.converter.protobuf that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ProtobufHttpMessageConverter` An `HttpMessageConverter` that reads and writes `com.google.protobuf.Messages` using Google Protocol Buffers.
    `class` | `ProtobufJsonFormatHttpMessageConverter` Subclass of `ProtobufHttpMessageConverter` which enforces the use of Protobuf 3 and its official library `"com.google.protobuf:protobuf-java-util"` for JSON processing.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.smile

    Classes in org.springframework.http.converter.smile that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MappingJackson2SmileHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write Smile data format ("binary JSON") using the dedicated Jackson 2.x extension.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.support

    Classes in org.springframework.http.converter.support that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AllEncompassingFormHttpMessageConverter` Extension of `FormHttpMessageConverter`, adding support for XML and JSON-based parts.

  - ### Uses of HttpMessageConverter in org.springframework.http.converter.xml

    Classes in org.springframework.http.converter.xml that implement HttpMessageConverter
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractJaxb2HttpMessageConverter<T>` Abstract base class for `HttpMessageConverters` that use JAXB2.
    `class` | `AbstractXmlHttpMessageConverter<T>` Abstract base class for `HttpMessageConverters` that convert from/to XML.
    `class` | `Jaxb2CollectionHttpMessageConverter<T extends Collection>` An `HttpMessageConverter` that can read XML collections using JAXB2.
    `class` | `Jaxb2RootElementHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write XML using JAXB2.
    `class` | `MappingJackson2XmlHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write XML using Jackson 2.x extension component for reading and writing XML encoded data.
    `class` | `MarshallingHttpMessageConverter` Implementation of `HttpMessageConverter` that can read and write XML using Spring's `Marshaller` and `Unmarshaller` abstractions.
    `class` | `SourceHttpMessageConverter<T extends Source>` Implementation of `HttpMessageConverter` that can read and write `Source` objects.

  - ### Uses of HttpMessageConverter in org.springframework.test.web.servlet.client

    Methods in org.springframework.test.web.servlet.client with parameters of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `MockMvcWebTestClient.ControllerSpec` | MockMvcWebTestClient.ControllerSpec.`messageConverters(HttpMessageConverter<?>... messageConverters)` Set the message converters to use.

  - ### Uses of HttpMessageConverter in org.springframework.test.web.servlet.setup

    Methods in org.springframework.test.web.servlet.setup with parameters of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `StandaloneMockMvcBuilder` | StandaloneMockMvcBuilder.`setMessageConverters(HttpMessageConverter<?>... messageConverters)` Set the message converters to use in argument resolvers and in return value handlers, which support reading and/or writing to the body of the request and response.

  - ### Uses of HttpMessageConverter in org.springframework.web.client

    Methods in org.springframework.web.client that return types with arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `List<HttpMessageConverter<?>>` | RestTemplate.`getMessageConverters()` Return the list of message body converters.
    `List<HttpMessageConverter<?>>` | AsyncRestTemplate.`getMessageConverters()` Deprecated. Return the message body converters.

    Method parameters in org.springframework.web.client with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `void` | ExtractingResponseErrorHandler.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Set the message converters to use by this extractor.
    `void` | RestTemplate.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Set the message body converters to use.
    `void` | AsyncRestTemplate.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Deprecated. Set the message body converters to use.

    Constructor parameters in org.springframework.web.client with type arguments of type HttpMessageConverter
    Constructor and Description
    `ExtractingResponseErrorHandler(List<HttpMessageConverter<?>> messageConverters)` Create a new `ExtractingResponseErrorHandler` with the given `HttpMessageConverter` instances.
    `HttpMessageConverterExtractor(Class<T> responseType, List<HttpMessageConverter<?>> messageConverters)` Create a new instance of the `HttpMessageConverterExtractor` with the given response type and message converters.
    `HttpMessageConverterExtractor(Type responseType, List<HttpMessageConverter<?>> messageConverters)` Creates a new instance of the `HttpMessageConverterExtractor` with the given response type and message converters.
    `RestTemplate(List<HttpMessageConverter<?>> messageConverters)` Create a new instance of the `RestTemplate` using the given list of `HttpMessageConverter` to use.

  - ### Uses of HttpMessageConverter in org.springframework.web.servlet.config.annotation

    Methods in org.springframework.web.servlet.config.annotation that return types with arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `protected List<HttpMessageConverter<?>>` | WebMvcConfigurationSupport.`getMessageConverters()` Provides access to the shared `HttpMessageConverters` used by the `RequestMappingHandlerAdapter` and the `ExceptionHandlerExceptionResolver`.

    Method parameters in org.springframework.web.servlet.config.annotation with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | WebMvcConfigurationSupport.`addDefaultHttpMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Adds a set of default HttpMessageConverter instances to the given list.
    `protected void` | WebMvcConfigurationSupport.`configureMessageConverters(List<HttpMessageConverter<?>> converters)` Override this method to add custom `HttpMessageConverters` to use with the `RequestMappingHandlerAdapter` and the `ExceptionHandlerExceptionResolver`.
    `void` | WebMvcConfigurerAdapter.`configureMessageConverters(List<HttpMessageConverter<?>> converters)` Deprecated. Configure the `HttpMessageConverter`s for reading from the request body and for writing to the response body.
    `protected void` | DelegatingWebMvcConfiguration.`configureMessageConverters(List<HttpMessageConverter<?>> converters)`
    `default void` | WebMvcConfigurer.`configureMessageConverters(List<HttpMessageConverter<?>> converters)` Configure the `HttpMessageConverter`s for reading from the request body and for writing to the response body.
    `protected void` | WebMvcConfigurationSupport.`extendMessageConverters(List<HttpMessageConverter<?>> converters)` Override this method to extend or modify the list of converters after it has been configured.
    `void` | WebMvcConfigurerAdapter.`extendMessageConverters(List<HttpMessageConverter<?>> converters)` Deprecated. Extend or modify the list of converters after it has been, either `configured` or initialized with a default list.
    `protected void` | DelegatingWebMvcConfiguration.`extendMessageConverters(List<HttpMessageConverter<?>> converters)`
    `default void` | WebMvcConfigurer.`extendMessageConverters(List<HttpMessageConverter<?>> converters)` Extend or modify the list of converters after it has been, either `configured` or initialized with a default list.

  - ### Uses of HttpMessageConverter in org.springframework.web.servlet.function

    Methods in org.springframework.web.servlet.function that return types with arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `List<HttpMessageConverter<?>>` | ServerResponse.Context.`messageConverters()` Return the `HttpMessageConverters` to be used for response body conversion.
    `List<HttpMessageConverter<?>>` | ServerRequest.`messageConverters()` Get the readers used to convert the body of this request.

    Method parameters in org.springframework.web.servlet.function with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `static ServerRequest` | ServerRequest.`create(HttpServletRequest servletRequest, List<HttpMessageConverter<?>> messageReaders)` Create a new `ServerRequest` based on the given `HttpServletRequest` and message converters.

  - ### Uses of HttpMessageConverter in org.springframework.web.servlet.function.support

    Method parameters in org.springframework.web.servlet.function.support with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `void` | RouterFunctionMapping.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Set the message body converters to use.

  - ### Uses of HttpMessageConverter in org.springframework.web.servlet.mvc.method.annotation

    Fields in org.springframework.web.servlet.mvc.method.annotation with type parameters of type HttpMessageConverter
    Modifier and Type | Field and Description
    --- | ---
    `protected List<HttpMessageConverter<?>>` | AbstractMessageConverterMethodArgumentResolver.`messageConverters`

    Methods in org.springframework.web.servlet.mvc.method.annotation that return types with arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `List<HttpMessageConverter<?>>` | ExceptionHandlerExceptionResolver.`getMessageConverters()` Return the configured message body converters.
    `List<HttpMessageConverter<?>>` | RequestMappingHandlerAdapter.`getMessageConverters()` Return the configured message body converters.

    Method parameters in org.springframework.web.servlet.mvc.method.annotation with type arguments of type HttpMessageConverter
    Modifier and Type | Method and Description
    --- | ---
    `Object` | RequestBodyAdvice.`afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` Invoked third (and last) after the request body is converted to an Object.
    `Object` | RequestBodyAdviceAdapter.`afterBodyRead(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` The default implementation returns the body that was passed in.
    `HttpInputMessage` | JsonViewRequestBodyAdvice.`beforeBodyRead(HttpInputMessage inputMessage, MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> selectedConverterType)`
    `HttpInputMessage` | RequestBodyAdvice.`beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` Invoked second before the request body is read and converted.
    `HttpInputMessage` | RequestBodyAdviceAdapter.`beforeBodyRead(HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` The default implementation returns the InputMessage that was passed in.
    `Object` | AbstractMappingJacksonResponseBodyAdvice.`beforeBodyWrite(Object body, MethodParameter returnType, MediaType contentType, Class<? extends HttpMessageConverter<?>> converterType, ServerHttpRequest request, ServerHttpResponse response)`
    `T` | ResponseBodyAdvice.`beforeBodyWrite(T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response)` Invoked after an `HttpMessageConverter` is selected and just before its write method is invoked.
    `Object` | RequestBodyAdvice.`handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` Invoked second (and last) if the body is empty.
    `Object` | RequestBodyAdviceAdapter.`handleEmptyBody(Object body, HttpInputMessage inputMessage, MethodParameter parameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` The default implementation returns the body that was passed in.
    `void` | ExceptionHandlerExceptionResolver.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Set the message body converters to use.
    `void` | RequestMappingHandlerAdapter.`setMessageConverters(List<HttpMessageConverter<?>> messageConverters)` Provide the converters to use in argument resolvers and return value handlers that support reading and/or writing to the body of the request and response.
    `boolean` | AbstractMappingJacksonResponseBodyAdvice.`supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType)`
    `boolean` | ResponseBodyAdvice.`supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType)` Whether this component supports the given controller method return type and the selected `HttpMessageConverter` type.
    `boolean` | JsonViewResponseBodyAdvice.`supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType)`
    `boolean` | JsonViewRequestBodyAdvice.`supports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)`
    `boolean` | RequestBodyAdvice.`supports(MethodParameter methodParameter, Type targetType, Class<? extends HttpMessageConverter<?>> converterType)` Invoked first to determine if this interceptor applies.

    Constructor parameters in org.springframework.web.servlet.mvc.method.annotation with type arguments of type HttpMessageConverter
    Constructor and Description
    `AbstractMessageConverterMethodArgumentResolver(List<HttpMessageConverter<?>> converters)` Basic constructor with converters only.
    `AbstractMessageConverterMethodArgumentResolver(List<HttpMessageConverter<?>> converters, List<Object> requestResponseBodyAdvice)` Constructor with converters and `Request~` and `ResponseBodyAdvice`.
    `AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters)` Constructor with list of converters only.
    `AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager contentNegotiationManager)` Constructor with list of converters and ContentNegotiationManager.
    `AbstractMessageConverterMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager, List<Object> requestResponseBodyAdvice)` Constructor with list of converters and ContentNegotiationManager as well as request/response body advice instances.
    `HttpEntityMethodProcessor(List<HttpMessageConverter<?>> converters)` Basic constructor with converters only.
    `HttpEntityMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager)` Basic constructor with converters and `ContentNegotiationManager`.
    `HttpEntityMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager, List<Object> requestResponseBodyAdvice)` Complete constructor for resolving `HttpEntity` and handling `ResponseEntity`.
    `HttpEntityMethodProcessor(List<HttpMessageConverter<?>> converters, List<Object> requestResponseBodyAdvice)` Complete constructor for resolving `HttpEntity` method arguments.
    `RequestPartMethodArgumentResolver(List<HttpMessageConverter<?>> messageConverters)` Basic constructor with converters only.
    `RequestPartMethodArgumentResolver(List<HttpMessageConverter<?>> messageConverters, List<Object> requestResponseBodyAdvice)` Constructor with converters and `RequestBodyAdvice` and `ResponseBodyAdvice`.
    `RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> converters)` Basic constructor with converters only.
    `RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager)` Basic constructor with converters and `ContentNegotiationManager`.
    `RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> converters, ContentNegotiationManager manager, List<Object> requestResponseBodyAdvice)` Complete constructor for resolving `@RequestBody` and handling `@ResponseBody`.
    `RequestResponseBodyMethodProcessor(List<HttpMessageConverter<?>> converters, List<Object> requestResponseBodyAdvice)` Complete constructor for resolving `@RequestBody` method arguments.
    `ResponseBodyEmitterReturnValueHandler(List<HttpMessageConverter<?>> messageConverters)` Simple constructor with reactive type support based on a default instance of `ReactiveAdapterRegistry`, `SyncTaskExecutor`, and `ContentNegotiationManager` with an Accept header strategy.
    `ResponseBodyEmitterReturnValueHandler(List<HttpMessageConverter<?>> messageConverters, ReactiveAdapterRegistry registry, TaskExecutor executor, ContentNegotiationManager manager)` Complete constructor with pluggable "reactive" type support.