我正在做一个项目,我需要通过 RESTful Web 服务从服务器获取数据。
服务器端的人已经实现了一些 Web 服务。我需要使用这些方法,但我不确定使用“Get”或“POST”哪个 http 方法。
如果我使用“GET”作为 http 方法并且如果服务器 Web 服务是在“POST”中实现的,那么我会得到 404 或类似的 http 错误代码。
有没有办法找出为 Web 服务器 API 实现的 http 方法类型?
现在我正在使用 BOOL 标志来确定要使用的 Http 方法。旗帜是从外面设置的。
NSMutableURLRequest *urlRequest = nil;
if (_usePostMethod)
{
urlRequest = [[NSMutableURLRequest alloc] initWithURL:self.serverURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0f];;
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[restMessage.message dataUsingEncoding:NSUTF8StringEncoding]];
}
else
{
urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/%@", self.serverURL, restMessage.message]]
cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0f];
[urlRequest setHTTPMethod:@"GET"];
}
我想摆脱这个BOOL _usePostMethod
变量。