Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Alamofire+Combine:获取HTTP响应状态代码_Ios_Swift_Alamofire_Combine - Fatal编程技术网

Ios Alamofire+Combine:获取HTTP响应状态代码

Ios Alamofire+Combine:获取HTTP响应状态代码,ios,swift,alamofire,combine,Ios,Swift,Alamofire,Combine,我目前正在使用包含联合收割机支持的Alamofire,并以以下方式使用它: let request=AF.requestendpoint ... 要求 .publishDecodabletype:T.self,解码器:解码器 价值 .橡皮擦出版商 这将发布结果并出错,但从订阅服务器的.sink中,我找不到任何地方可以获取HTTP状态代码。在订阅服务器中获取状态代码的最佳方法是什么?如果需要响应代码,请不要使用.value擦除DataPublisher。相反,使用从各种发布方法获得的DataRes

我目前正在使用包含联合收割机支持的Alamofire,并以以下方式使用它:

let request=AF.requestendpoint ... 要求 .publishDecodabletype:T.self,解码器:解码器 价值 .橡皮擦出版商
这将发布结果并出错,但从订阅服务器的.sink中,我找不到任何地方可以获取HTTP状态代码。在订阅服务器中获取状态代码的最佳方法是什么?

如果需要响应代码,请不要使用.value擦除DataPublisher。相反,使用从各种发布方法获得的DataResponse,其中包括所有各种响应信息,包括状态代码。然后,您可以将其映射到所需的任何类型。

如果需要响应代码,请不要使用.value擦除DataPublisher。相反,使用从各种发布方法获得的DataResponse,其中包括所有各种响应信息,包括状态代码。然后,您可以将其映射到您需要的任何类型。

对于Swift 5.X和Xcode 12.4 出于调试目的,您可以在Combine publisher publishDecodable之前截获响应,并获取URL响应的一些元素,包括:

session.request(signedRequest)
    .responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization
    }
对于Swift 5.X和Xcode 12.4 出于调试目的,您可以在Combine publisher publishDecodable之前截获响应,并获取URL响应的一些元素,包括:

session.request(signedRequest)
    .responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization
    }