CustomRestAdvice > SPRING_DATA_JPA

본문 바로가기
사이트 내 전체검색

SPRING_DATA_JPA

CustomRestAdvice

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 260회 작성일 24-06-23 13:50

본문

package web.controller.advice;



import java.util.HashMap;

import java.util.Map;

import java.util.NoSuchElementException;


import org.springframework.dao.DataIntegrityViolationException;

import org.springframework.http.HttpStatus;

import org.springframework.http.ResponseEntity;

import org.springframework.validation.BindException;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.ExceptionHandler;

import org.springframework.web.bind.annotation.ResponseStatus;

import org.springframework.web.bind.annotation.RestControllerAdvice;


import lombok.extern.log4j.Log4j2;


@RestControllerAdvice

@Log4j2

public class CustomRestAdvice {


@ExceptionHandler(BindException.class)

@ResponseStatus(HttpStatus.EXPECTATION_FAILED)

public ResponseEntity<Map<String, String>> handleBindException(BindException e){

log.error(e);


Map<String, String> errorMap = new HashMap<>();


if(e.hasErrors()) {

BindingResult bindingResult = e.getBindingResult();


bindingResult.getFieldErrors().forEach(fieldError -> {

errorMap.put(fieldError.getField(), fieldError.getCode());

});

}


return ResponseEntity.badRequest().body(errorMap);

}


@ExceptionHandler(DataIntegrityViolationException.class)

@ResponseStatus(HttpStatus.EXPECTATION_FAILED)

public ResponseEntity<Map<String, String>> handleFKException(Exception e) {

log.error(e);


Map<String, String> errorMap = new HashMap<>();


errorMap.put("time", ""+System.currentTimeMillis());

errorMap.put("msg", "잘못된 경로 및 값으로 인해 실패처리");


return ResponseEntity.badRequest().body(errorMap);

}


@ExceptionHandler(NoSuchElementException.class)

@ResponseStatus(HttpStatus.EXPECTATION_FAILED)

public ResponseEntity<Map<String, String>> handleNoSuchElement(Exception e) {

log.error(e);


Map<String, String> errorMap = new HashMap<>();


errorMap.put("time", ""+System.currentTimeMillis());

errorMap.put("msg", "rno를 찾을 수 없음. 실패");


return ResponseEntity.badRequest().body(errorMap);

}

}


댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
307
어제
199
최대
10,760
전체
275,336
Copyright © dancePKT . All rights reserved.