swift - Alamofire 使用数据设置请求正文
问题描述
在 objC 我做:
NSData *postData = ...
NSMutableURLRequest *request = ...
[request setHTTPBody:postData];
如何在 Swift Alamofire 中进行操作?
Alamofire.request(url, method: .post, parameters: nil, encoding: URLEncoding.default, headers: headers)
request.validate().responseJSON {
...
}
解决方案
Alamfire 接受[String:Any]
do {
let params = try JSONSerialization.jsonObject(with: data, options: []) as! [String:Any]
Alamofire.request(url, method: .post, parameters:params, encoding: JSONEncoding.default, headers: headers)
request.validate().responseJSON {
...
}
}
catch {
print(error)
}
斯威夫特 4.2
Alamofire.request(url, method: .post, parameters: [:], encoding: "test", headers: [:])
extension String: ParameterEncoding {
public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var request = try urlRequest.asURLRequest()
request.httpBody = data(using: .utf8, allowLossyConversion: false)
return request
}
}
推荐阅读
- css - ng build --aot 错误解释 :host 伪类选择器
- javascript - 如何在 vueJS 中添加数字
- netsuite - 从 netsuite 访问子列表
- pdf - 当不透明度设置为小于 1 时,为什么 Apache Batik 将 SVG 文档光栅化为 PDF?
- listview - 单击JavaFX中的按钮后如何保持ListView中最后选择的单元格处于选中状态?
- android - kivy hello world 出现黑屏
- php - 尝试使用 codeigniter 中的取消链接删除图像时权限被拒绝
- python - Tkinter 图像不显示
- python - 类设计 - 从基类初始化返回子类
- mobile - SSRS 移动报告显示日期