gpt4 book ai didi

ios - AFNetworking 在 404 Bad Request 仍然获得 JSON 响应后获得 JSON

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

我有一个带有 iOS 应用程序的 Django Rest Api,现在我正在测试 AFNetworking 以更改我的应用程序正在执行的 HTTP 请求,但我遇到了这个我不知道如何处理的困境,首先是 REST 标准当我收到错误时,如果发送或发生错误,我应该返回 404_BAD_REQUEST 作为状态,这没关系。当 AFNetworking 看到这个 404 时,问题就来了。我仍然想看到它返回的 JSON。

curl -X POST http://domain.com:8000/user-login/ -d "nick=superUser&pass_field=superPassword"

我得到 202 状态 HTTP:

{
"nick": "eddwinpaz", "rate": 30, "name": "Eddwin Paz", "avatar": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0-1/p160x160/10270540_10154074250190063_1762683854515424400_n.jpg", "id": 9}eddwinpazs-MacBook-Pro:~ eddwinpaz$
}

当我收到 404 BAD REQUEST 时,我得到:

{"message": "Invalid Username or Password"}

如果我收到 404 错误,我想获取该消息的 json 标记

我有以下代码。并将其放在 Alert 上的消息上

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSDictionary *parameters = @{@"nick": @"eddwinpaz",@"pass_field":@"eddwinpaz1"};

AFHTTPRequestOperation *operation = [manager POST:@"http://domain.com/user-login/"];
[operation addAcceptableStatusCodes:[NSIndexSet indexSetWithIndex:404]];

[manager POST:@"http://domain.com/user-login/" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"Error: %@", error);

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login Failed"
message:@"E-mail or password are wrong, Please Try Again"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[hud hide:YES];

}];

最佳答案

默认情况下,错误代码 404 作为错误代码处理。您可以通过以下方式将其添加为可接受的错误代码之一

AFHTTPRequestOperation *operation = [manager POST:@"http://doma...
[operation addAcceptableStatusCodes:[NSIndexSet indexSetWithIndex:404]];

然后 success: 在 404 响应上被调用,您可以在那里处理它。

关于ios - AFNetworking 在 404 Bad Request 仍然获得 JSON 响应后获得 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23822071/

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