我正在嘗試將用戶註冊到我的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代碼中也需要這些錯誤細節。我搜索了互聯網,但沒有找到解決方案。 有什麼建議嗎?