码迷,mamicode.com
首页 > 编程语言 > 详细

springboot-异常处理

时间:2020-06-03 20:04:20      阅读:76      评论:0      收藏:0      [点我收藏+]

标签: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<String,Object> dealNullPoint(){
		Map<String,Object> 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<String, Object> 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!