spring-boot 错误页面

通常使用spring-boot都会声明一个@ControllerAdvice统一处理业务异常;
不过像404这类异常,统一处理异常类就无法捕获到;
如若请求是404状态, spring-boot默认会重定向到/error这个uri, 这个uri默认是BasicController进行处理;
为了能订制化返回的格式;
为此,可用声明一个controller继承于ErrorController ,即可订制返回信息

@RestController
public class AppErrorController implements ErrorController {

    @Value("${error.path:/error}")
    private static final String PATH = "/error";

    @RequestMapping(value = PATH)
    public Result error(HttpServletResponse response) {
        Result result = Result.err();
        if(response.getStatus() == HttpServletResponse.SC_NOT_FOUND){
            result.setCode(HttpServletResponse.SC_NOT_FOUND+"");
            result.setMessage("接口不存在");
        }else{
            result.setMessage("ERROR");
        }
        return result;
    }

    @Override
    public String getErrorPath() {
        return PATH;
    }
}

你可能感兴趣的:(spring-boot 错误页面)