我对AFHTTPClient有一个奇怪的问题,我正在发送像
这样的POST请求NSURL *u = [NSURL URLWithString:HTTP_SERVER];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL: u];
[httpClient setParameterEncoding:AFJSONParameterEncoding];
[httpClient postPath:REGISTER
parameters:params
success:^(AFHTTPRequestOperation *operation, id JSON) {
int statusCode = [operation.response statusCode];
if(statusCode == 201){
[self performSegueWithIdentifier:@"register" sender:self];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[HTTPClient Error]: %@", error.localizedDescription);
}];
服务器工作正常(在某些情况下服务器需要用代码409回答我,API是以这种方式做出的),但我在XCode中遇到错误,如Expected status code in (200-299), got 409
如何解决这个问题(我的双手被绑,我无法更改API和错误代码)?
答案 0 :(得分:0)
基于this:
你有两个选择:
将状态代码409添加到可接受的状态代码列表中,并在成功块中接收(差错)
处理故障区块中的状态代码409 (好)
对于后者,如果您的[operation.response statusCode]
为409,则可以使用responseData
中的AFURLConnectionOperation
(AFHTTPRequestOperation
的超类,您需要为此导入其标头工作)。