gpt4 book ai didi

object - 如何在Swift 3中将总模型对象作为Alamofire post方法的参数发送?

转载 作者:行者123 更新时间:2023-12-04 14:23:48 26 4
gpt4 key购买 nike

我有一个这样的模型类

class Example() {
var name:String?
var age:String?
var marks:String?
}

我正在向该模型类添加数据
let example = Example()
example.name = "ABC"
example.age = "10"
example.marks = "10"

之后我转换为 JSON 然后我发布
Alamofire.request(URL, method:.post, parameters: example)

Alamofire 不接受参数,只接受它,如 parameters = ["":"","",""]-->key value based ,所以我尝试将模型转换为 JSON,将 JSON 转换为字典,即使不接受其显示类似参数的问题。正是我需要将总模型对象作为 Alamofire 中 post 方法的参数发送,如下所示:
let example = Example()
Alamofire.request(URL, method:.post, parameters: example)

最佳答案

由于 Alamofire API 只接受字典,请自己创建字典!

在模型类中添加一个名为 toJSON 的方法:

func toJSON() -> [String: Any] {
return [
"name": name as Any,
"age": age as Any,
"marks": marks as Any
]
}

然后在调用 request的时候调用这个方法:
Alamofire.request(URL, 
method:.put,
parameters:example.toJSON(),
encoding:JSONEncoding.default,
headers :Defines.Api.Headers )

或者,使用 SwiftyJSON:
func toJSON() -> JSON {
return [
"name": name as Any,
"age": age as Any,
"marks": marks as Any
]
}

用法:
Alamofire.request(URL, 
method:.put,
parameters:example.toJSON().dictionaryObject,
encoding:JSONEncoding.default,
headers :Defines.Api.Headers )

关于object - 如何在Swift 3中将总模型对象作为Alamofire post方法的参数发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43649027/

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