开发者社区 问答 正文

springboot中的错误处理

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

@Controller
public class ErrorHandleController implements ErrorController {

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

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

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

展开
收起
蛮大人123 2016-03-10 10:06:58 2575 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    你可以直接定义一个错误处理器,在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"," ");
        }
    }
    2019-07-17 18:56:57
    赞同 展开评论
问答分类:
问答标签:
问答地址: