2016-08-19 7 views
0

NSURL을 사용하여 API 게이트웨이에 연결하고 iOS 기기에서 수신하는 응답이 "누락 된 인증 토큰"입니다. 내 API를 배포했는지 확인했습니다. 그것은 접근 가능하고 동일한 URL을 사용하여 Chrome과 Safari를 통해 완전히 채워진 json을 반환합니다.iOS의 AWS API 게이트웨이

내 코드 : 나는 당신의 API 게이트웨이 액세스 할 수있는 두 가지 문제를 참조

NSString* urlString = [NSString stringWithFormat:@"https://csjm26qn0c.execute-api.us-east-1.amazonaws.com/dev/truckstopsregion1/1"]; 
NSURL *url = [NSURL URLWithString: urlString]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]]; 

[request setHTTPMethod:@"POST"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request addValue:@"...NOT GOING TO SHOW..." forHTTPHeaderField:@"API-Key"]; 


NSURLSession* session = [NSURLSession sharedSession]; 
NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 
    if(error == nil && data != nil){ 

     NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 

    } 
}]; 

[task resume]; 

답변

1

.

  1. 끝점이 POST 요청을 처리하도록 설정되지 않을 수 있습니다. URL이 GET 요청의 데이터를 반환합니다. POSTGET으로 변경하고 JSON 데이터를 가져올 수 있습니다. "누락 된 인증 토큰"메시지는 요청 된 엔드 포인트가 존재하지 않는 경우에 대한 일반 메시지이기도합니다.

  2. 반환 된 JSON이 잘못되었습니다. 구문을 확인하십시오. 귀하의 URL에서받은 JSON 사전을 게시했습니다. 경도 선에서 쉼표가 누락되었습니다.

    { 
        "Stops" : 
        [ 
         { 
          "id"  : "1", 
          "latitude" : "300", 
          "longitude": "400" 
          "name"  : "Test Stop 2" 
         } 
        ] 
    } 
    
+0

은 "누락 된 인증 토큰"메시지가 요청 된 엔드 포인트뿐만 아니라 존재하지 않는 경우에 대한 일반적인 메시지 (첫 번째 총알의 경우) 인 것을 추가 제안했다. –

+1

@AndrewTempleton 완료 : – Daniel

+0

Upvoted ya, 좋은 대답 –

관련 문제