DecodableResponseSerializer
public final class DecodableResponseSerializer<T> : ResponseSerializer where T : Decodable
A ResponseSerializer
that decodes the response data as a generic value using any type that conforms to
DataDecoder
. By default, this is an instance of JSONDecoder
. Additionally, a request returning nil
or no data
is considered an error. However, if the response is has a status code valid for empty responses (204
, 205
), then
the Empty.value
value is returned.
-
Declaration
Swift
public let dataPreprocessor: DataPreprocessor
-
The
DataDecoder
instance used to decode responses.Declaration
Swift
public let decoder: DataDecoder
-
Declaration
Swift
public let emptyResponseCodes: Set<Int>
-
Declaration
Swift
public let emptyRequestMethods: Set<HTTPMethod>
-
Creates an instance using the values provided.
Declaration
Swift
public init(dataPreprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, decoder: DataDecoder = JSONDecoder(), emptyResponseCodes: Set<Int> = DecodableResponseSerializer.defaultEmptyResponseCodes, emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer.defaultEmptyRequestMethods)
Parameters
dataPreprocessor
DataPreprocessor
used to prepare the receivedData
for serialization.decoder
The
DataDecoder
.JSONDecoder()
by default.emptyResponseCodes
The HTTP response codes for which empty responses are allowed.
[204, 205]
by default.emptyRequestMethods
The HTTP request methods for which empty responses are allowed.
[.head]
by default. -
Declaration
Swift
public func serialize(request: URLRequest?, response: HTTPURLResponse?, data: Data?, error: Error?) throws -> T