1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package com.dskj.znzn.transData.common.exception;
- import com.dskj.znzn.transData.common.base.R;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.validation.FieldError;
- import org.springframework.web.bind.MethodArgumentNotValidException;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestControllerAdvice;
- import java.util.List;
- @Slf4j
- @RestControllerAdvice
- public class GloableException {
- @ExceptionHandler(BusinessException.class)
- @ResponseBody
- public R businessExdeption(BusinessException e) {
- log.error("Exception", e);
- return R.error(e.getMessage());
- }
- @ExceptionHandler(UserNotLoginExeption.class)
- @ResponseBody
- public R userNotLoginExeption(UserNotLoginExeption e) {
- log.error("Exception", e);
- return R.error(401, "Unauthorized");
- }
- @ExceptionHandler(MethodArgumentNotValidException.class)
- @ResponseBody
- public R methodArgumentNotValidException(MethodArgumentNotValidException e) {
- List<FieldError> fieldErrors = e.getBindingResult().getFieldErrors();
- // 这里你可以根据自己的需要来处理错误
- // 例如,构建一个响应体,其中包含所有字段的错误信息
- StringBuilder errorMessage = new StringBuilder();
- for (FieldError fieldError : fieldErrors) {
- errorMessage.append("\n - ")
- .append(fieldError.getField())
- .append(": ")
- .append(fieldError.getDefaultMessage());
- }
- log.error("Exception", e);
- return R.error(errorMessage.toString());
- }
- @ExceptionHandler(Exception.class)
- @ResponseBody
- public R exception(Exception e) {
- log.info("Exception: [{}]", e.getMessage());
- log.error("Exception", e);
- return R.error(e.getMessage());
- }
- }
|