아래에 게시 된 코드는 서버에서 발생하는 예외로 인해 http 500 오류가 발생하는 클라이언트 - 서버 코드입니다. 나는 실제로 http 500 오류의 이유를 알기 위해 예외 (서버 측에서 생성됨)를 클라이언트에 보내려한다. 스택 추적을 보내려면이 줄을 return Response.status(200).entity(err).build();
으로 사용하고 있지만 클라이언트 측에서 아무 것도 인쇄되지 않습니다. 제 코드를보고 던져진 예외의 스택 추적을 서버에서 어떻게 얻을 수 있는지 말해주십시오.클라이언트가 서버에서 예외의 스택 추적을받을 수 없습니다.
ReactJS 클라이언트 :
saveChanges(newRecordsArray) {
$.ajax({
type: "POST",
url: "http://localhost:8080/UserManagement/rest/myService/save",
dataType: "json",
contentType:'application/json',
data: newRecordsArray,
async: false
}).then((function(err) {
{console.log(err);}
}).bind(this));
}
자바 서비스 : 당신이 Response.status(200).entity(err).build()
이 예외 객체에 toString()
메소드를 호출하기 때문에 유일한 예외 메시지가 얻을 이유
@POST
@Path("/save")
@Consumes(MediaType.APPLICATION_JSON)
public Response saveNewRecords(JSONArray newRecordsArray) {
try {
File recordsFile = new File("C:\\Users\\username\\Desktop\\myJSON.txt");
FileWriter fileWriter = new FileWriter(recordsFile);
fileWriter.write(newRecordsArray.toString());
fileWriter.close();
}
catch (Exception e) {
String err = e.getClass().toString();
return Response.status(200).entity(err).build();
}
return Response.status(200).entity(newRecordsArray.toString()).build();
}
? 실제로 스택 추적을 처음부터 받고 있습니까? 적어도 그 코드는 그렇게 생각하지 않습니다. – Kayaman