springBoot统一404处理

2018-06-18  本文已影响61人  一个菜鸟JAVA

springBoot统一404处理

默认springBoot有对404有一个默认处理,但有的时候我们需要自己定义
但我们需要自定义404处理时,我们需要修改下面几点
1.修改application.properties文件

# 自定义404
#出现错误时, 直接抛出异常
spring.mvc.throw-exception-if-no-handler-found=true
#不要为我们工程中的资源文件建立映射
spring.resources.add-mappings=false

2.添加controller增强处理

@ControllerAdvice
public class GlobalExceptionHandler {

    /***
     * 404处理
     * @param e
     * @return
     */
    @ExceptionHandler(NoHandlerFoundException.class)
    @ResponseBody
    @ResponseStatus(HttpStatus.NOT_FOUND)
    public Object notFountHandler(HttpServletRequest request,NoHandlerFoundException e){
        String method = request.getMethod();
        String path = request.getRequestURI();
        Map<String,Object> data = new HashMap<>();
        data.put("method",method);
        data.put("path",path);
        return data;
    }
    
}

3.notFountHandler这个方法中的业务逻辑自己处理即可。
具体根据自己业务要求实现即可

上一篇下一篇

猜你喜欢

热点阅读