# Package org.springframework.http.codec

@NonNullApi @NonNullFields package org.springframework.http.codec
Provides implementations of `Encoder` and `Decoder` for web use.

Also declares a high-level `HttpMessageReader` and `HttpMessageWriter` for reading and writing the body of HTTP requests and responses.

Related Packages
Package
Description
org.springframework.http
Contains a basic abstraction over client/server-side HTTP.
org.springframework.http.codec.cbor
CBOR encoder and decoder support.
org.springframework.http.codec.json
JSON encoder and decoder support.
org.springframework.http.codec.multipart
Multipart support.
org.springframework.http.codec.protobuf
Provides an encoder and a decoder for Google Protocol Buffers.
org.springframework.http.codec.support
Provides implementations of `ClientCodecConfigurer` and `ServerCodecConfigurer` based on the converter implementations from `org.springframework.http.codec.json` and co.
org.springframework.http.codec.xml
XML encoder and decoder support.
Class
Description
ClientCodecConfigurer
Extension of `CodecConfigurer` for HTTP message reader and writer options relevant on the client side.
ClientCodecConfigurer.ClientDefaultCodecs
`CodecConfigurer.DefaultCodecs` extension with extra client-side options.
CodecConfigurer
Defines a common interface for configuring either client or server HTTP message readers and writers.
CodecConfigurer.CustomCodecs
Registry for custom HTTP message readers and writers.
CodecConfigurer.DefaultCodecConfig
Exposes the values of properties configured through `CodecConfigurer.defaultCodecs()` that are applied to default codecs.
CodecConfigurer.DefaultCodecs
Customize or replace the HTTP message readers and writers registered by default.
CodecConfigurer.MultipartCodecs
Registry and container for multipart HTTP message writers.
DecoderHttpMessageReader<T>
`HttpMessageReader` that wraps and delegates to a `Decoder`.
EncoderHttpMessageWriter<T>
`HttpMessageWriter` that wraps and delegates to an `Encoder`.
FormHttpMessageReader
Implementation of an `HttpMessageReader` to read HTML form data, i.e.
FormHttpMessageWriter
`HttpMessageWriter` for writing a `MultiValueMap<String, String>` as HTML form data, i.e.
HttpMessageDecoder<T>
Extension of `Decoder` exposing extra methods relevant in the context of HTTP request or response body decoding.
HttpMessageEncoder<T>
Extension of `Encoder` exposing extra methods relevant in the context of HTTP request or response body encoding.
HttpMessageReader<T>
Strategy for reading from a `ReactiveHttpInputMessage` and decoding the stream of bytes to Objects of type `<T>`.
HttpMessageWriter<T>
Strategy for encoding a stream of objects of type `<T>` and writing the encoded stream of bytes to an `ReactiveHttpOutputMessage`.
KotlinSerializationBinaryDecoder<T extends kotlinx.serialization.BinaryFormat>
Abstract base class for `Decoder` implementations that defer to Kotlin binary serializers.
KotlinSerializationBinaryEncoder<T extends kotlinx.serialization.BinaryFormat>
Abstract base class for `Encoder` implementations that defer to Kotlin binary serializers.
KotlinSerializationStringDecoder<T extends kotlinx.serialization.StringFormat>
Abstract base class for `Decoder` implementations that defer to Kotlin string serializers.
KotlinSerializationStringEncoder<T extends kotlinx.serialization.StringFormat>
Abstract base class for `Encoder` implementations that defer to Kotlin string serializers.
KotlinSerializationSupport<T extends kotlinx.serialization.SerialFormat>
Base class providing support methods for encoding and decoding with Kotlin serialization.
LoggingCodecSupport
Base class for `Encoder`, `Decoder`, `HttpMessageReader`, or `HttpMessageWriter` that uses a logger and shows potentially sensitive request data.
ResourceHttpMessageReader
`HttpMessageReader` that wraps and delegates to a `ResourceDecoder` that extracts the filename from the `"Content-Disposition"` header, if available, and passes it as the `ResourceDecoder.FILENAME_HINT`.
ResourceHttpMessageWriter
`HttpMessageWriter` that can write a `Resource` from both client and server perspectives.
ServerCodecConfigurer
Extension of `CodecConfigurer` for HTTP message reader and writer options relevant on the server side.
ServerCodecConfigurer.ServerDefaultCodecs
`CodecConfigurer.DefaultCodecs` extension with extra server-side options.
ServerSentEvent<T>
Representation for a Server-Sent Event for use with Spring's reactive Web support.
ServerSentEvent.Builder<T>
A mutable builder for a `ServerSentEvent`.
ServerSentEventHttpMessageReader
Reader that supports a stream of `ServerSentEvents` and also plain `Objects` which is the same as an `ServerSentEvent` with data only.
ServerSentEventHttpMessageWriter
`HttpMessageWriter` for `"text/event-stream"` responses.