JSONResponseSerializer

public final class JSONResponseSerializer : ResponseSerializer

A ResponseSerializer that decodes the response data using JSONSerialization. By default, 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 an NSNull value is returned.

  • Declaration

    Swift

    public let dataPreprocessor: DataPreprocessor
  • Declaration

    Swift

    public let emptyResponseCodes: Set<Int>
  • Declaration

    Swift

    public let emptyRequestMethods: Set<HTTPMethod>
  • JSONSerialization.ReadingOptions used when serializing a response.

    Declaration

    Swift

    public let options: JSONSerialization.ReadingOptions
  • Creates an instance with the provided values.

    Declaration

    Swift

    public init(dataPreprocessor: DataPreprocessor = JSONResponseSerializer.defaultDataPreprocessor,
                emptyResponseCodes: Set<Int> = JSONResponseSerializer.defaultEmptyResponseCodes,
                emptyRequestMethods: Set<HTTPMethod> = JSONResponseSerializer.defaultEmptyRequestMethods,
                options: JSONSerialization.ReadingOptions = .allowFragments)

    Parameters

    dataPreprocessor

    DataPreprocessor used to prepare the received Data for serialization.

    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.

    options

    The options to use. .allowFragments by default.

  • Declaration

    Swift

    public func serialize(request: URLRequest?, response: HTTPURLResponse?, data: Data?, error: Error?) throws -> Any