博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot之统一异常处理
阅读量:6843 次
发布时间:2019-06-26

本文共 975 字,大约阅读时间需要 3 分钟。

hot3.png

spring boot 在请求接口时,如果发生错误,会默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。

241FA8A7-2493-44B9-A0A3-79849656074A.png

但是在实际应用中,上面你的错误页面对用户来说并不够友好,也不规范。

我们可以自己创建异常处理类。

需要给这个类加上@ControllerAdvice注解

并写一个统一处理异常的方法。

需要在处理方法上添加注解@ExceptionHandler(value = Exception.class)

需要返回接口结果,就加上@ResponseBody注解,需要返回统一的页面,就去掉@ResponseBody注解,返回html页面的名称,并在页面里处理异常信息。

package com.example.demo.exception;import java.util.HashMap;import java.util.Map;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;/** * 全局捕获异常类,只要作用在@RequestMapping上,所有的异常都会被捕获 */@ControllerAdvice@ResponseBodypublic class MyExceptionHandler {	@ExceptionHandler(value = Exception.class)	public Map
errorHandle(Exception e) { Map
map = new HashMap
(); map.put("code", -1); map.put("msg", e.getMessage()); return map; }}

 

转载于:https://my.oschina.net/xiaoyoung/blog/2999037

你可能感兴趣的文章