springboot-异常处理

2020-12-25 19:27

阅读:663

标签:json   obj   ring   rri   ret   set   int   注册   容器   

springboot-异常处理

springboot默认处理

默认情况下,Spring Boot 提供/error映射,以合理的方式处理所有错误,并在 servlet 容器中注册为“global”错误页面。对于机器客户端,它会生成一个 JSON 响应,其中包含错误,HTTP 状态和 exception 消息的详细信息。

技术图片

使用@RestControllerAdvice注解和ExceptionHandler注解

可以使用上去的两个注解来处理全局异常

@RestControllerAdvice
public class GoalExceptionHandler {

	@ExceptionHandler(NullPointerException.class)
	public Map dealNullPoint(){
		Map map = new HashMap(12);
		map.put("stutas",1);
		map.put("msg","空指针异常处理");
		return map;
	}

	@ExceptionHandler(Exception.class)
	public ModelAndView dealException(Exception e){
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.setViewName("/public/error/error.html");
		return modelAndView;
	}


通过实现ErrorViewResolver接口来处理错误视图页面

@Configuration
public class MyErrorViewResolver implements ErrorViewResolver {
	@Override
	public ModelAndView resolveErrorView(HttpServletRequest request, HttpStatus status, Map model) {
		if (status.value()==404){
			ModelAndView modelAndView = new ModelAndView();
			modelAndView.setViewName("/error/404.html");
			return modelAndView;
		}
		return null;
	}
}

springboot-异常处理

标签:json   obj   ring   rri   ret   set   int   注册   容器   

原文地址:https://www.cnblogs.com/JackQiang/p/13039639.html


评论


亲,登录后才可以留言!