gpt4 book ai didi

ios - 从 alamofire 中的 api 调用中提取响应数据

转载 作者:行者123 更新时间:2023-11-29 11:26:48 25 4
gpt4 key购买 nike

我读过很多关于从 api 获取响应对象的文档,但无法推导出如何提取数据。我已经使用 alamofire 进行 api 调用。 api调用就像

AF.request("http://10.177.41.163:9000/signup",
method: .post,
parameters: parameters,
encoder: JSONParameterEncoder.default).responseJSON{ response in
print(response.result)


在我的打印语句中,我得到的响应是

`success({
error = {
code = PC05;
message = "User already exsists";
};
payload = {
};
success = 0;
})`

这很好,但我想提取假设错误代码,如何实现?以及如何快速从响应中提取数据。

最佳答案

你需要解码jSON响应,所以创建一个模型来解码这个,当然之前还要检查响应是否成功,你会举个例子:

声明自己是模特:

struct RootResponse : Decodable {
var error: ErrorStruct
var payload: PayloadStruct
var success: Int
}

struct ErrorStruct: Decodable {
var code: String
var message: String
}

struct PayloadStruct : Decodable {
var ?
}

根据 jSON 响应声明模型后,您可以切换到向您发出请求的函数:

AF.request("http://10.177.41.163:9000/signup",
method: .post,
parameters: parameters,
encoder: JSONParameterEncoder.default).responseJSON{ response in
print(response.result)

switch response.result {
case .success:
if let data = response.data {
print(data)
// Convert This in JSON
do {
let responseDecoded = try JSONDecoder().decode(RootResponse.self, from: data)
print("USER: ", responseDecoded.error.code, "Etc...")
}catch let error as NSError{
print(error)
}

}
case .failure(let error):
print("Error:", error)
}

}

希望对您有所帮助。

关于ios - 从 alamofire 中的 api 调用中提取响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57971327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com