`
234390216
  • 浏览: 10192560 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:460764
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1771696
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1395359
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:393865
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:678192
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:529252
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1178667
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:461737
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:150098
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:66820
社区版块
存档分类
最新评论

SpringMVC之ResponseStatus

阅读更多

SpringMVC之ResponseStatus

ResponseStatus是由SpringMVC提供的一个注解,可以标注在异常处理方法上,也可以标注在异常类上,用来指定在SpringMVC处理请求的过程中抛出了指定的异常时将响应给客户端的状态码和错误信息。比如我们希望在抛出了IllegalArgumentException时响应给客户端的状态码是502,错误信息是Hello Error,我们就可以像如下这样,在异常处理方法上加上@ResponseStatus注解,同时指定错误码和错误信息,此时的ResponseStatus注解将在ServletInvocableHandlerMethod的initResponseStatus方法中进行处理。

@ControllerAdvice(annotations=RestController.class)
public class MyExceptionHandler {
    
    @ExceptionHandler(IllegalArgumentException.class)
    @ResponseStatus(value=HttpStatus.BAD_GATEWAY, reason="Hello Error")
    public void handleIllegalArgumentException() {
        
    }
    
}

在没有使用异常处理器方法的情况下,如果异常类的源码是我们可以自己进行控制的,也可以在异常类上加上@ResponseStatus注解指定错误码和错误信息。此时的ResponseStatus注解将由ResponseStatusExceptionResolver进行处理。

@ResponseStatus(value=HttpStatus.BAD_GATEWAY, reason="Hello Error")
public class ResponseStatusException extends RuntimeException {

    /**
     * 
     */
    private static final long serialVersionUID = 6644585920167208469L;

}

(注:本文是基于Spring4.1.0所写)

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics