我正在尝试将用户注册到我的Web服务器。如果我向服务器发送有效的详细信息,那么我会收到代表“已创建”的201代码。但是,当我发送错误的凭据到服务器,即相同的用户名,那么我得到400 FileNotFoundException。我需要解释错误细节不仅400个代码。因为如果我使用curl从命令行发送错误的细节,那么我也会得到错误的细节,例如这个用户名已经存在。 这里是我的代码来读取服务器的响应。其实我试过两种不同的方法,但它们都以400(坏请求)相同的错误结束。如何从REST API读取错误详细信息
public static String readResponse(HttpURLConnection connection)
throws IOException, JSONException {
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuilder response = new StringBuilder();
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
return response.toString();
}
public static String readResponseFromServer(HttpURLConnection connection) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader
(connection.getInputStream()));
String line = "";
StringBuilder stringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
return stringBuilder.toString();
}
在上面的代码中,有两种读取服务器响应的方法。
这里是我正在如何使用这些方法来从服务器读取
System.out.println("Server Response" + WebServiceHelpers.readResponseFromServer(urlConnection));
响应,我也使用第二方法,该方法是readResponse()从上面的代码。
这里是curl命令的截图,其中我向服务器发送错误的细节并获取错误的详细信息。
我也有HTTPIE尝试这样做,我也得到尽可能使用curl命令即用户与该用户名已经存在同样的反应。
我在我的Java代码中也需要这些错误细节。我搜索了互联网,但没有找到解决方案。 有什么建议吗?