如何使用 AFNetworking 3.0 设置 Request.HttpBody

2017-05-03 13:37:11 +08:00
 dreamahui

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

AFNetworking 升级 3.x 后

由于公司内部接口的规则,在些某特殊请求,要求将参数转换并设置到 requst.HttpBody 中,但是升级到 AFNetworking3.X 之后,发现暴露出来的 NSURLSessionTask 完全没有 Request 可写属性,瞬间蛋疼。。

1709 次点击
所在节点    iPhone
2 条回复
cielpy
2017-05-03 14:19:34 +08:00
想初始化一个 task 最终还是需要一个 NSMutableURLRequest 的,设置
NSMutableURLRequest 对象的 body 就好

https://gist.github.com/cielpy/4ef8fa19309afdcd95c87b779ee4dbd8
hellowwo
2017-05-03 14:27:52 +08:00
好好看文档:
NSError *requestError = nil;
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSMutableURLRequest *request = [manager.requestSerializer requestWithMethod:method URLString:[[NSURL URLWithString:urlString] absoluteString] parameters:parameters error:&requestError];
request.HTTPBody = [NSData data];
[manager.session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

}];

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2017 V2EX