개발 한 API를 사용하는 Android 앱을 개발 중입니다.HttpUrlConnection 헤더 정보가 있지만 본문이없는 게시물
HttpUrlConnection을 사용하여이 연결을 수행하고 있으며 로그인은 정상적으로 작동합니다. 문제는 로그 아웃과 함께 발생합니다. 아무것도하지 않습니다. 우편 배달부와 로그 아웃 요청을하면 잘 작동하지만 HttpUrlConnection을 사용하면 제대로 작동하지 않습니다.
로그 아웃은 다음과 같이 작동합니다 이 http://ipaddress:12345/api/LogOut
에 POST 요청을 수행하고 헤더에 로그인 한 사용자의 토큰을 포함한다. 그런 다음 서버는 데이터베이스에 가서 해당 사용자의 토큰을 삭제해야합니다 : 당신이 어떤 입력을 할 때까지
URL url = new URL(getString(R.string.url) + "LogOut");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Token", TokenSingleton.getToken());
con.setReadTimeout(10000);
con.setConnectTimeout(15000);
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.connect();
con.getOutputStream().flush();
con.getOutputStream().close();
con.disconnect();
이'con.setDoInput (true);이 필요하겠습니까? 서버에서 무엇인가를 읽고 싶지만 아무 것도 읽지 않는다는 것을 연결에 알리십시오. – Vadim
@ Vadim 그는 그걸 필요로하지는 않지만 기본값이기 때문입니다. 그는 어떤 종류의 입력을해야합니다. – EJP
false로 설정하면 서버 측에서 제대로 작동하지 않을지 확신 할 수 없습니다. 그것은 "편도"또는 "불의 잊지"요청을합니다. 더 좋은 방법은 응답 코드를 읽는 것입니다. 서버가 이러한 요청을 수락하면 "HTTP 204 No Content"가 될 수 있습니다. 분명히, EJP는 정확합니다 - 최소한 응답 코드를 읽고, 입력 또는 오류 스트림에서 적절히 읽지 않는 경우 204. – Vadim