gpt4 book ai didi

ios - 带有 NSURLSession 的 HTTP PUT 方法

转载 作者:技术小花猫 更新时间:2023-10-29 11:05:26 28 4
gpt4 key购买 nike

我正在为 iOS 7 SDK 中引入的 NSURLSession 类而苦苦挣扎,我被困在一个点上,我需要用 调用我的 REST API PUT 方法。

我已经实现了 GETPOST 方法,使用它可以正常工作:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPMethod:httpMethod]; // GET/POST works, PUT does not
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error){
// do something here
( ... )
} else {
// process error
( ... )
}
}];
[postDataTask resume];

不幸的是,将 httpMethod 设置为 PUT 似乎不起作用(它的行为与 GET 相同)。从 cURL 控制台调用 *url 的内容工作正常 - 因此 API 的路径是正确的。

如何使用 NSURLSession 创建对我的 API 的有效 PUT 请求?

最佳答案

你需要使用NSMutableURLRequestsetHTTPBody方法设置数据,与POST一样。

- (void)setHTTPBody:(NSData *)data

关于ios - 带有 NSURLSession 的 HTTP PUT 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19860229/

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