首页 > springboot中的错误处理

springboot中的错误处理

springboot默认会用whitelabel来显示错误视图,可以实现ErrorController来自定义.

@Controller
public class ErrorHandleController implements ErrorController {

    @Override
    public String getErrorPath() {
        return "error";
    }

    @RequestMapping
    public String errorHandle() {
        return getErrorPath();
    }
}

自己定义了这么一个处理器,结果把css,js这里当错误给处理了,这么解决啊?


你可以直接定义一个错误处理器,在service层抛出相关的自定义异常,然后在PersonalExceptionHandler进行相关的处理。

 @ControllerAdvice
   public class PersonalExceptionHandler {


    @ExceptionHandler(EntityNotFoundException.class)
    @ResponseStatus(HttpStatus.NOT_FOUND)
    @ResponseBody
    SimpleErrorMessage handleException(EntityNotFoundException exception){
        log.debug("Entity Not Found Exception {}",exception.getMessage());
        log.trace(exception.getMessage(),exception);
        return new SimpleErrorMessage("Entity not found","This resource was not found");
    }


    @ExceptionHandler({UsernameNotFoundException.class})
    @ResponseStatus(HttpStatus.UNAUTHORIZED)
    @ResponseBody
    SimpleErrorMessage handleException(UsernameNotFoundException exception){
        log.debug("Username not found {}",exception.getLocalizedMessage());
        log.trace(exception.getMessage(),exception);
        return new SimpleErrorMessage("Unaouthorized"," ");
    }
}
【热门文章】
【热门文章】