0

AFNetworking 的文档指出,您应该创建 AFHTTPClient 的子类并将其用作每个 Web 服务的单例。

如果我在 www.example.com 有 2 个端点,一个允许 HTTP_ACCEPT 中的“application/json”,另一个需要 text/html,我将在我的单例 AFHTTPClient 类中配置什么参数,以便它配置正确的 HTTP_ACCEPT 值?

实施细节:

@interface MyAFHTTPClient : AFHTTPClient
+ (MyAFHTTPClient *)sharedClient;
@end

[[MyAFHTTPClient sharedClient] getPath:@"endPoint_json"
                                     parameters:nil 
                                        success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}]

稍后,我需要调用 html 端点:

[[MyAFHTTPClient sharedClient] getPath:@"endPoint_html"
                                     parameters:nil 
                                        success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}]

似乎这两个调用都导致"HTTP_ACCEPT"=>"application/json"服务器收到请求。

4

1 回答 1

0

getPath:...所有这些便利方法都用 构造一个请求requestWithMethod:path:parameters:,然后将其传递给 ,然后将其排入HTTPRequestOperationWithRequest:success:failure:操作队列。

如果您需要对 HTML 等进行一次性请求,请手动执行以下步骤,而不是使用便捷方法:创建请求,将Accept(HTTP_ACCEPT) 不是 HTTP 标头) 标头设置为text/html,然后创建并入队操作。

于 2012-08-23T16:54:02.197 回答