3.17.2 @ResponseStatus注解
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异常,显示异常信息.