package com.infynova.udi.exception; import com.infynova.udi.common.api.ResponseData; import com.infynova.udi.common.exception.SaasException; import lombok.extern.slf4j.Slf4j; import org.springframework.core.annotation.Order; import org.springframework.validation.BindException; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import javax.servlet.http.HttpServletResponse; import java.util.Objects; @Slf4j @Order(value = 1) @RestControllerAdvice public class UdiExceptionHandler { /** * 验证异常 */ @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseData handlerNoFoundException(MethodArgumentNotValidException e, HttpServletResponse response) { response.setStatus(200); return ResponseData.error(CommonExceptionCode.SYSTEM_501.getCode(), Objects.requireNonNull(e.getBindingResult().getFieldError()).getDefaultMessage()); } /** * 验证异常get */ @ExceptionHandler(BindException.class) public ResponseData handlerNoFoundGetException(BindException e, HttpServletResponse response) { response.setStatus(200); return ResponseData.error(CommonExceptionCode.SYSTEM_501.getCode(), Objects.requireNonNull(e.getBindingResult().getFieldError()).getDefaultMessage()); } /** * 业务异常 */ @ExceptionHandler(UdiCodeException.class) public ResponseData handlerNoFoundException(UdiCodeException e, HttpServletResponse response) { response.setStatus(200); return ResponseData.error(e.getCode()); } }