【问题标题】:Bug in NSURLRequest or AFNetworking?NSURLRequest 或 AFNetworking 中的错误?
【发布时间】:2013-02-07 20:00:50
【问题描述】:

不确定这是错误还是我遗漏了什么,很可能是后者。我的 AFHTTPClient 的基本 url 是:

#define kBaseURL @"http://localhost:4567/api/"
self.client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:kBaseURL]];

当我向例如'/games' 发出请求时,它实际上将请求发送到http://localhost:4567/games,而忽略了API 部分。

【问题讨论】:

标签: ios objective-c cocoa-touch afnetworking nsurlrequest


【解决方案1】:

"baseURL" part of "initWithBaseURL:" 位应该清楚表明它只适用于方案 + 主机 + 端口号部分。

创建客户端后,您可以通过以下技术将参数添加到其 URL 请求中:

NSMutableURLRequest *request = 
    [self.client requestWithMethod:@"POST" path:@"/api/games" parameters:parameters];

【讨论】:

  • 我认为将基本 url 简单定义为 #define kBaseURL @"localhost:4567/api" 没有最后一个斜杠会更容易
【解决方案2】:

AFHTTPClient.h 文件包含大量关于如何使用 /s 来确保所有内容正确组合的 cmets。看看on github

【讨论】:

  • 是的,'/' 搞砸了。基本上,我必须删除尾随/前导 '/'
  • @0xSina 肯定被我们所有人咬了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多