Spring MVC 使用@ResponseStatus注解業(yè)務(wù)異常

2020-07-31 10:52 更新

業(yè)務(wù)異??梢允褂?code>@ResponseStatus來(lái)注解。當(dāng)異常被拋出時(shí),ResponseStatusExceptionResolver會(huì)設(shè)置相應(yīng)的響應(yīng)狀態(tài)碼。DispatcherServlet會(huì)默認(rèn)注冊(cè)一個(gè)ResponseStatusExceptionResolver 以供使用。

ResponseStatus注解的使用非常簡(jiǎn)單,我們創(chuàng)建一個(gè)異常類(lèi),加上注解

package com.zj.exception;
 
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
 
@ResponseStatus(value=HttpStatus.FORBIDDEN,reason="用戶不匹配")
public class UserNotMatchException extends RuntimeException{
}
ResponseStatus注解是修飾類(lèi)的
它有兩個(gè)屬性,value屬性是http狀態(tài)碼,比如404,500等。reason是錯(cuò)誤信息

寫(xiě)一個(gè)目標(biāo)方法拋出該異常

@RequestMapping("/testResponseStatus")
public String testResponseStatus(int i){
    if(i==0)
        throw new UserNotMatchException();
    return "hello";
}
使用了ResponseStatus注解之后,用戶看到的異常界面正是我們自己定義的異常,而不再是一大堆用戶看不懂的代碼。




以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)