我有一个这样的模型类
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/