我使用以下代码向我的Web服务发送JSON请求,并且对于错误的请求,我在有效负载中返回400消息代码以及详细的JSON错误响应。
我不明白在使用HttpURLConnection
时如何在客户端检索此有效内容,因为它会立即抛出IOException
并且连接的InputStream
为{ {1}}。
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);
,但这包含Apache Tomcat的默认错误页面,而不是我可以看到的有效负载,例如我使用可视REST API客户端。
答案 0 :(得分:-2)
我发现许多线程声明如果状态代码是错误消息,HTTPUrlConnection根本不传输标准有效负载,例如stackoverflow.com/questions/21526082/ ...,请参阅此博客tbray.org/ongoing/When/201x/2012/01/17/HttpURLConnection。
我最终使用了更强大的Apache软件包。