SpringBoot를 이용하여 REST Api를 만들고 있는 중에 발생한 500 Error 가 발생한 김에 기록해 봅니다. 기본적으로 500 Error 는 아래와 같은 이유로 발생을 하게 됩니다.
서버 통신의 Timeout 시간 지연 오류
서버 트래픽 과부하
서버 언어의 구문 에러(스크립트 문법 오류)
저도 코딩을 하면서 가장 빈번하게 마주하는 Error 중에 하나입니다. 다만 Error 중에서도 정보가 상세하게 나오지 않는 편이지만 문제점을 찾고보면 대부분 너무나 간단한 수정으로 해결이 되는 경우가 다반사 입니다.
최근에 발생 했던 500 Error 의 경우들을 해결했던 저의 방법은 아래와 같습니다.
현재 저는 REST API의 Response는 이렇게 사용하고 있습니다. 참고가 되면 좋겠습니다. ( 이렇게 사용하는 것이 좋은 방식인지는 정확히 알지 못합니다. 혹시 더 좋고 효율적인 방식이 있다면 알려주세요! )
//AllBoardsResponse
@Getter //가장 최근에 발생한 500 Error가 이 Response class에 Getter가 존재하지 않아서 였습니다.
public class AllBoardsResponse {
private String success;
private String msg;
private List<Board> boards;
public AllBoardsResponse(String success, String msg, List<Board> boards) {
this.success = success;
this.msg = msg;
this.boards = boards;
}
}
//BoardController
@GetMapping("")
public ResponseEntity<AllBoardsResponse> getAllBoard(){
List<Board> boards= boardService.getAllBoard();
return new ResponseEntity<>(new AllBoardsResponse("true", "게시글들 가져오기 성공", boards), HttpStatus.OK);
}