objective-c - AFNetworking 重载一个 Post 参数

标签 objective-c ios cocoa networking afnetworking

我正在从 ASIHTTPRequest 迁移到 AFNetworking,但遇到了问题。

我正在尝试使用重载 post 参数的请求来访问 API。我之前为此使用 ASIFormDataRequest 并使用此代码同时更新 3 个 ID。

// ASIHTTPRequestCode
[request addPostValue:@"value1" forKey:@"id"];
[request addPostValue:@"value2" forKey:@"id"];
[request addPostValue:@"value3" forKey:@"id"];

由于 AFNetworking 使用 NSDictionary 来存储键值对,因此如何执行此操作似乎并不直接。有什么想法吗?

最佳答案

我无法立即看到使用 AFNetworking 执行此操作的直接方法,但可以做到。

如果您查看 AFHTTPClient requestWithMethod 的代码,您会看到这一行,它设置请求主体以包含参数:

 [request setHTTPBody:[AFQueryStringFromParametersWithEncoding(parameters, self.stringEncoding) dataUsingEncoding:self.stringEncoding]];

基本上你可以将一个空字典传递给 requestWithMethod 作为参数,然后它返回,你自己调用 request setHTTPBody,以类似于AFQueryStringFromParametersWithEncoding 的方式。

关于objective-c - AFNetworking 重载一个 Post 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713923/

相关文章:

objective-c - 具有多个 header 的 NSMutableURLRequest

ios - 如何在字符串和 nsdate 中获取相同的日期?

ios - 是否可以在不搜索 select/create 的情况下识别 sqlite3_step 执行的查询类型(select、create 等)?

ios - 在 iOS 设备上捕获视频并将其实时流式传输到服务器(或其他移动设备)

ios - Autolayout layoutIfNeeded 正在打破约束

cocoa - 在不同的类中调用IBAction

cocoa - Xcode 中的调试/运行停止工作。可执行设置错误且无法修复

iPhone:我想出了一个有趣的方法来绕过 API 限制。这行得通吗?

ios - AppDelegate 类不适用于 iOS Swift 应用程序中的 Obj-C 嵌入式库

ios - 将 UIButton 移动到键盘上方