카카오 디벨로퍼스에서 제공하는 API는 에러 발생 시, 문제 해결을 위한 에러코드와 에러메시지 JSON 응답을 전달합니다.
ex)
{“msg”:“NotRegisteredUserException”,“code”:-101}
public String Call(String method, String reqURL, String header, String param) {
String result = "";
try {
String response = "";
URL url = new URL(reqURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(method);
conn.setRequestProperty("Authorization", header);
if(param != null) {
System.out.println("param : " + param);
conn.setDoOutput(true);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
bw.write(param);
bw.flush();
}
int responseCode = conn.getResponseCode();
System.out.println("responseCode : " + responseCode);
System.out.println("reqURL : " + reqURL);
System.out.println("method : " + method);
System.out.println("Authorization : " + header);
InputStream stream = conn.getErrorStream();
if (stream != null) {
try (Scanner scanner = new Scanner(stream)) {
scanner.useDelimiter("\\Z");
response = scanner.next();
}
System.out.println("error response : " + response);
}
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = "";
while ((line = br.readLine()) != null) {
result += line;
}
System.out.println("response body : " + result);
br.close();
} catch (IOException e) {
return e.getMessage();
}
return result;
}
Webclient 로 API 호출 시, 아래 내용을 참고합니다.
https://stackoverflow.com/questions/44593066/spring-webflux-webclient-get-body-on-error
'언어, 환경별 예제 코드' 카테고리의 다른 글
iOS objective-c Kakao SDK 지원 종료에 따른 임시 처리 방안 (1) | 2023.09.19 |
---|---|
Android 카카오 SDK 사용, 공식 예제 실행해보기 (0) | 2022.11.17 |
iOS 카카오 SDK 사용, 공식 예제 실행해보기 (0) | 2022.11.17 |
Flutter 카카오 SDK 사용, 공식 예제 실행해보기 (0) | 2022.11.11 |
카카오 로그인 OIDC(OpenID Connect) JWT 서명검증 (JAVA) (0) | 2022.06.07 |
댓글