全局异常处理器可以捕捉全局的异常范围,无需pom.xml配置和application.properties
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;
// 全局异常处理器
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)//可以获得异常
@ResponseBody //返回值
public Map<String, Object> handleException(Exception exception){
Map<String, Object> map=new HashMap<String, Object>();
map.put("errorCode",500);
map.put("errorMsg", exception.toString());
return map;
}
}
二、测试
添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
@SpringBootTest(classes=SpringController.class)//声明被测试的类
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class TestSpringController {
@Autowired //注入对应类
private SpringController springController;
@Test
public void test1(){
TestCase.assertEquals(this.springController.eye(), "hello");//判断返回值是不是hello
}
}