gpt4 book ai didi

iphone - 如何使用 AFNetworking 为 "PUT"请求设置数据?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:21 24 4
gpt4 key购买 nike

我已经开始使用 AFNetworking,它在进行简单的“GET”请求时效果很好。但是现在我正在尝试执行“POST”请求。我使用下面的代码来执行“GET”请求。在查看 AFHTTPClientputhPath 时,无法设置用于正文的数据。我的猜测是还有另一种方法可以解决这个问题。我一直在寻找 AFHTTPOperation 来解决这个问题。但是我没有让这个工作。问题是我不知道如何将它与基本身份验证一起使用。

有人可以提示我如何使用 AFNetworking 执行简单的“POST”请求吗?

AFHTTPClient* client = [AFHTTPClient clientWithBaseURL:ServerURL];
[client setAuthorizationHeaderWithUsername:self.username
password:self.password];

NSString* resourcePath = [NSString stringWithFormat:@"/some/resource/%@",
endPath];

[client getPath:resourcePath
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
// Success code omitted
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// Some error handling code omitted
}
];

最佳答案

我没有找到任何简单的方法来做到这一点。但我按照建议做了,并创建了我自己的 AFHTTPClient 子类。在子类中,我实现了以下方法。这使得使用我自己的数据执行 POST 请求和 PUT 请求成为可能。

- (void)postPath:(NSString *)path 
parameters:(NSDictionary *)parameters
data:(NSData*)data
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
{
NSURLRequest *request = [self requestWithMethod:@"POST" path:path parameters:parameters data:data];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:success failure:failure];
[self enqueueHTTPRequestOperation:operation];
}

- (void)putPath:(NSString *)path
parameters:(NSDictionary *)parameters
data:(NSData*)data
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
{
NSURLRequest *request = [self requestWithMethod:@"PUT" path:path parameters:parameters data:data];
AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:success failure:failure];
[self enqueueHTTPRequestOperation:operation];
}

-(NSMutableURLRequest*)requestWithMethod:(NSString *)method
path:(NSString *)path
parameters:(NSDictionary *)parameters
data:(NSData*)data;
{
NSMutableURLRequest* request = [super requestWithMethod:method
path:path
parameters:parameters];

[request setHTTPBody:data];

return request;
}

关于iphone - 如何使用 AFNetworking 为 "PUT"请求设置数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9003545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com