iOS 앱이있는 장고 Rest API가 있고 지금은 HTTP 요청을 변경하기 위해 AFNetworking을 테스트하고 있습니다.하지만이 딜레마가 있습니다. 어떻게 처리 해야할지 모르겠다. REST 표준에서 에러가 발생하면 404_BAD_REQUEST를 상태로 반환해야한다. 즉, 보낸 메시지 나 잘못된 메시지가 있으면 OK이다. AFNetworking에서이 문제를 발견하면 문제가 발생합니다. 여전히 반환하는 JSON을보고 싶습니다.AFNetworking은 여전히 JSON 응답을 얻은 후에 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 잘못된 요청을받을 때 내가 얻을 : 내가 404 오류가 발생하는 경우
{"message": "Invalid Username or Password"}
내가 그 메시지 JSON 태그를 잡고 싶어
다음과 같은 코드가 있습니다. 경고 메시지에 적어 두십시오.
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];
}];
NSError에 해당 메시지가 없습니까? [error userInfo]와 (과) 비슷합니까? –
메시지 : [error localizedDescription]을 사용하는 경우 404 BAD REQUEST 만 표시되지만 응답에는 요청에 잘못된 내용이 계속 표시됩니다. 위의 예 { "message": "Invalid Username or Password"} – eddwinpaz
좋아, 어떻게하고 싶은지 이해가 안됩니다. 이 두 줄에 대한 응답을 추가하십시오. * [error localizedDescription] * * [error code] *. 그런 다음 얻을 것으로 예상되는 것을 추가하십시오. –