Alamofire EmptyResponseCodes не работает

Конечная точка отвечает кодом 201 и пустым телом ответа. Просматривая документацию Alamofire, есть только 204 и 205 тело ответа может быть пустым. Есть решение, что мы можем указать код состояния с пустыми результатами. Добавлен набор

emptyResponseCodes: [200, 201, 202, 203, 204, 205]

и после отправки запроса я все равно получаю ошибку!= nil Что я здесь делаю не так?

responseDecodable(of: TResult.self,
                  decoder: self.jsonDecoder,
                  emptyResponseCodes: [200, 201, 202, 203, 204, 205],
                  completionHandler: { (response: DataResponse<TResult, AFError>) in
                                    
                                    if let error = response.error {
                                        taskCompletionSource.set(error: error)
                                    } else if let result = response.value {
                                        taskCompletionSource.set(result: result)
                                    } else {
                                        taskCompletionSource.set(result: EmptyCodable())
                                    }

1 ответ

Alamofire включает в себя Emptyтип именно для этой цели, а также EmptyResponseпротокол, чтобы типы могли определять свои собственные пустые значения. В наших включенных сериализаторах ответов мы проверяем, разрешен ли пустой ответ, и, если да, пытаемся привести соответствующий пустой тип.

Например:

      struct EmptyEntity: Codable, EmptyResponse {
    
    static func emptyValue() -> EmptyEntity {
        return EmptyEntity.init()
    }
}
Другие вопросы по тегам