刚刚花了一段时间弄清楚如何在 v0.20 中做到这一点。据我所知,如果不进入 AFNetworking 源代码,您将无法直接更改基本 URL。您可以创建一个新的HTTPClient
并设置它,但我发现这会导致更多问题,大概是因为HTTPClient
当您设置时RestKit 正在 AFNetworking 上进行一些额外的配置RKObjectManager
,并且通过直接设置客户端您错过了这一点。
我想出了这个解决方案,即RKObjectManager
使用新的 baseURL 创建另一个并重新添加描述符。您还需要再次设置序列化和标头类型。
NSString *urlString = @"http://www.something.com/api";
RKObjectManager *newManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:urlString]];
[newManager setRequestSerializationMIMEType:RKMIMETypeJSON];
[newManager setAcceptHeaderWithMIMEType:RKMIMETypeJSON];
[newManager addResponseDescriptorsFromArray:[RKObjectManager sharedManager].responseDescriptors];
[newManager addRequestDescriptorsFromArray:[RKObjectManager sharedManager].requestDescriptors];
[RKObjectManager setSharedManager:newManager];
相关文档:在 RestKit 中使用多个基本 URL