RestApiController 사용법
: apiController를 타서 ajax 통신 함
항공사 플랫폼 팀 프로젝트를 진행하며 RouteService에 노선이 없으면
NullPointerException이 발생하는 오류를 수정했습니다.
handler 패키지 > exception 패키지 > ExceptionFieldMessage.java
1 2 3 4 5 6 7 8 9 10 | @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ExceptionFieldMessage { private String field; private String message; } | cs |
handler 패키지 > exception 패키지 > ApiErrorResponse.java
1 2 3 4 5 6 7 8 9 10 11 12 13 | @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ApiErrorResponse { private int statusCode; private String code; private String message; private String resultCode; private List<ExceptionFieldMessage> exceptionFieldMessage; } | cs |
handler 패키지 > RestfullExceptionHandler.java
→ NullPointerException이 발생되면 자동으로 이 예외처리를 탄다.
1 2 3 4 5 6 7 8 9 10 | // valid 처리 관련 예외 처리 @ExceptionHandler(value = NullPointerException.class) public ApiErrorResponse nullPointerException(NullPointerException e) { List<ExceptionFieldMessage> errorList = new ArrayList<>(); return ApiErrorResponse.builder().statusCode(HttpStatus.BAD_REQUEST.value()).code("-1") .resultCode("fail").message("잘못된 요청입니다.").exceptionFiledMessages(errorList).build(); } | cs |
js 코드 (통신 성공 → done 부분에서 처리)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | .done(function(data) { console.log(data); if(data.statusCode == 400) { alert("노선 정보가 없습니다."); window.location.reload(); } else { // 통신 성공시 실행할 코드 let destinationResId = $("#destination--res--id"); for(let i = 0; i < data.length; i++) { let imgNode = $(""); imgNode.attr("src", "/images/in_flight/" + data[i].detailImage); destinationResId.append(data[i].name); destinationResId.append(imgNode); destinationResId.append(data[i].description); } } }); | cs |
'프로그래밍 > Spring Boot 프로젝트' 카테고리의 다른 글
항공사 플랫폼 팀 프로젝트_회원가입 비밀번호 확인 AJAX 통신 (0) | 2023.07.16 |
---|---|
항공사 플랫폼 팀 프로젝트_daum 우편번호 서비스 API, 아이디 중복 확인 (0) | 2023.07.16 |
Spring Boot 프로젝트_항공사 플랫폼 팀 프로젝트 (0) | 2023.06.22 |
쇼핑몰 플랫폼 팀 프로젝트_일별 정리 (0) | 2023.05.09 |
Spring Boot 프로젝트_쇼핑몰 플랫폼 팀 프로젝트 (0) | 2023.05.05 |