0

我对 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 和错误代码) ?

4

1 回答 1

0

基于

你有两个选择:

  • 将状态码 409 添加到可接受的状态码列表中,并在成功块中接收它(坏)

  • 处理故障块中的状态码 409 (好)

对于后者,如果您[operation.response statusCode]是 409,您将使用responseDatafrom AFURLConnectionOperation(的超类AFHTTPRequestOperation,您需要导入其标头才能使其工作)。

于 2013-05-09T19:02:54.373 回答