【发布时间】:2013-08-01 07:03:52
【问题描述】:
调用 REST Web 服务非常简单 - 我使用原生 NSURLConnection 类及其委托方法:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"webServiceURL"]];
[request setHTTPMethod:@"GET"];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
但是如何将对象参数传递给调用?例如,如果 Web 服务需要一个对象 UserInfo { name:string, age:int}。
现在这个调用只有两个参数 - 我也在考虑可能需要在请求中传递更多参数的情况。
这样做的正确方法是什么?我听说过 RestKit 并计划尽快尝试,但是没有第三方库有什么好的方法吗?
【问题讨论】:
-
URL 或请求正文中的参数?
-
在请求正文中。在 URL 中可以,但如果我必须传递 10 个参数,则 url 长度会变得太长。我尝试了
[request setValue:@"user1" forHTTPHeaderField:@"username"];,但 REST Web API 无法识别传递的参数。
标签: objective-c web-services rest