将参数传递给Objective-C的REST API调用

时间:2013-07-31 20:05:23

标签: objective-c web-services rest

调用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并计划尽快尝试,但没有第三方库有什么好办法吗?

1 个答案:

答案 0 :(得分:2)

通常在执行GET时,您会将参数添加到URL。为此,只需将查询字符串添加到用于生成URL的字符串的末尾。

如果您正在执行POST,则通常会将参数添加到请求正文中。这是通过将参数转换为NSData并在setHTTPBody:上调用request来完成的。