3.17.2 @ResponseStatus注解
org.springframework.web.bind.annotation.ExceptionHandle.ResponseStatus注解是处理异常最简单的方式,其可以修饰一个类或者一个方法,当修饰一个类的时候,通常修饰的是一个异常类。
使用@ResponseStatus注解可指定如下表所示的属性
| 属性 | 类型 | 是否必要 | 说明 | 
|---|---|---|---|
| code | HttpStatus | 否 | http状态码,如Http.CREATED、HttpStatus.OK等 | 
| value | String | 否 | 与 code属性作用相同 | 
| reason | HttpStatus | 否 | 错误信息 | 
使用时,先声明一个自定义异常类,在自定义异常类上面加上@ResponseStatus注解,就表示在系统运行期间,当抛出自定义异常的时候,使用@ResponseStatus注解中声明的value属性和reason属性将异常信息返回给客户端,提高可读性。
示例 @ResponseStatus处理异常
新建一个项目ResponseStatusTest,加入所需的jar文件,示例代码如下:
index.jsp
| 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" | 
BookException.java
| 1 | package org.fkjava.exception; | 
BookException是自定义异常类,使用了@ResponseStatus注解修饰, reason表示抛出异常时显示的错误信息,此处没有使用value属性,表示适用于所有http状态码.
BookController.java
| 1 | package org.fkit.controller; | 
find方法模拟了一个异常,发生异常时抛出自定义异常BookException。
部署ResponseStatusTest这个Web应用,在浏览器中输入如下URL来测试应用,
单击"ResponseStatus异常处理“超链接,发送"find"请求,请求处理方法抛出自定义BookException异常,显示异常信息.
原文链接: 3.17.2 @ResponseStatus注解