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这个方法中的业务逻辑自己处理即可。
具体根据自己业务要求实现即可
网友评论