하기에 있는 링크의 오픈소스API(배송조회API)를 이용해서
자미린으로 타이젠앱 개발을 하다가,
발견했는데, 배송조회 API서버에서 http response STATUS code가
제대로 response가 와도 STATUS code가 false로 만 오네요.
이것 때문에 개고생 했네요.
결국 오픈소스인 API서버에 git issue를 올렸네요.
참고로 오픈소스인 배송조회 API서버는 하기에,,,
https://tracker.delivery/guide
제 앱 소스는 하기에,,,
==> client 소스 중 아래 코드에서
using (HttpResponseMessage response = await client.GetAsync(uriStr))
{
DbgMsg = string.Format("HTTP Get Req.");
//if (response.IsSuccessStatusCode)
if(true)
{
DbgMsg = string.Format("Req Success.");
responseBody = response.Content.ReadAsStringAsync().Result;
DbgMsg = string.Format("Json parse.");
return JsonParse(responseBody);
} else {
DbgMsg = string.Format($"Req. Fail {response.IsSuccessStatusCode}");
return false;
}
} return false;
==> 여기 코드에서 //if (response.IsSuccessStatusCode) 무조건 response.IsSuccessStatusCode 가 false로 오네요.
다른 API (구글API)를 동일한 클라이언트 코드로 테스트 해봤는데,
전혀 문제가 없이 response.IsSuccessStatusCode 가 true로 왔습니다.
결국 API서버 문제인 것으로 잠정 결론 내고, github에 issue도 올렷네요.
(=> https://github.com/shlee322/delivery-tracker/issues/88 )
언제 수정될 지는 전혀 예상이 안되는 상황인 것 같아,
다른 배송조회 API를 찾아보는 중이네요.
==> (추가업데이트)
아래와 같이 확인해보니, 잘못된 운송장 번호인 경우, 404에러가 뜨고
제대로된 운송장 번호를 입력하니 200 OK 뜨네요.
참고로,
404 에러가 떠도 HTTP responseBody 가 json으로 파싱이된다는 사실을 새로이 알았습니다.
"404 not found 이면 조회한 트래킹 코드가 없다는 뜻인거 같은데요?
제가 오늘 배송 되는 물건 송장 번호로 조회 해보니 200 OK 에 제대로 된 데이터가 나오는데
송장 번호를 먼저 확인해보셔야 할거 같습니다
보통 REST API 는 HTTP Status Code 값을 가지고 응답을 사용하기 때문에
404 Not Found 이면 찾으려는 트래킹 번호가 없다 라는 식으로 해석하시면 될거 같네요"
(출처: https://www.clien.net/service/board/cm_app/15652835?od=T31&po=0&category=&groupCd= )
'개발 이야기' 카테고리의 다른 글
json포맷을 다양한 다른 포맷으로 변경할 수 (0) | 2020.12.20 |
---|---|
openweathermap.org // 날씨, 대기질 관련 API - 무료제공 (0) | 2020.12.18 |
이젠 맥북이 없이도 iOS앱 개발이 가능하답니다~ (0) | 2020.12.01 |
완벽한 크로스플래폼은 아직 없다! (0) | 2020.11.27 |
머신러닝/딥러닝에 관하여 (0) | 2020.09.14 |