用目标方法上:
@RequestMapping(value = "/test20")
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR,reason = "服务器内部错误")
@ResponseBody
public void test20(@RequestParam(value = "name") String name){
System.out.println("======");
}
即使方法正常执行完毕没有报错,最后收到的信息就是@ResponseStatus中的内容
所以该注解最好和自定义异常一起使用
2.用在自定义异常上:
@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR,reason = "服务器异常")
public class TestException extends RuntimeException {
}
测试类:
@RequestMapping(value = "/test20")
@ResponseBody
public void test20( String name){
if (null==name){
throw new TestException();
}
System.out.println("======");
}
3.方法和异常类上同时使用,若抛出自定义异常,则会展示自定义异常的信息