다음 코드를 사용하여 JSON 요청을 웹 서비스에 보내고 잘못된 요청으로 페이로드에 자세한 JSON 오류 응답과 함께 400 메시지 코드를 반환합니다.HttpURLConnection : 400 응답의 페이로드를 읽는 방법
내가 HttpURLConnection
를 사용하는 경우는 즉시 IOException
을 발생하고 연결의 InputStream
가 null
이기 때문에 나는 아마도, 클라이언트 측에서이 페이로드를 검색 할 수있는 방법을 이해하지 않습니다.
HttpURLConnection connection = this.connect(url);
connection.setRequestMethod(method);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(jsonMessage);
InputStream is = null;
try {
is = connection.getInputStream(); // IOException is thrown, how can I still get payload??
} catch (Exception e) {
}
String response = getStringFromInputStream(is);
또한
getErrorStream()
을 사용하려고하지만,이 내가 할 때, 예를 들어 볼 수있는 페이로드보다는 아파치 톰캣의 기본 오류 페이지를 포함했다 시각적 인 REST API 클라이언트를 사용합니다.
미안하지만 .... 질문이 의미가 없습니다 - HTTP를 통한 서버 - 클라이언트 대화에 대해 이야기하고 있으며 클라이언트 - 서버 대화를 설명하는 코드를 보여줍니다. – specializt
다음은 SO 커뮤니티 위키에 대한 것입니다. 도움이 될 수있는 HttpURLConnection : http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests –
getErrorStream()이 실제로 수행 한 작업을 반환했습니다. 반환되었습니다. 그것이 Tomcat 구성을 반환하려는 의도가 아니라면 어딘가에 있습니다. – EJP