DecodableResponseSerializer - SwiftDocOrg/Alamofire GitHub Wiki
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.
public final class DecodableResponseSerializer<T: Decodable>: ResponseSerializerCreates an instance using the values provided.
public init(dataPreprocessor: DataPreprocessor = DecodableResponseSerializer.defaultDataPreprocessor, decoder: DataDecoder = JSONDecoder(), emptyResponseCodes: Set<Int> = DecodableResponseSerializer.defaultEmptyResponseCodes, emptyRequestMethods: Set<HTTPMethod> = DecodableResponseSerializer.defaultEmptyRequestMethods)- dataPreprocessor:
DataPreprocessorused to prepare the receivedDatafor 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.
let dataPreprocessor: DataPreprocessorThe DataDecoder instance used to decode responses.
let decoder: DataDecoderlet emptyResponseCodes: Set<Int>let emptyRequestMethods: Set<HTTPMethod>public func serialize(request: URLRequest?, response: HTTPURLResponse?, data: Data?, error: Error?) throws -> T