Sentinel-Resource註解(三)

Sentinel-Resource註解包括2部分:

1.註解的使用
2.註解處理類定義

1.註解的使用api

@RequestMapping("/test-sentinel-api-3")
@SentinelResource(
        value = "test-sentinel-api-3",
        blockHandler = "blockHandlerFunc",
        fallback = "fallbackFunc",
        blockHandlerClass = MyBlockHandlerClass.class
)
public String testSentinelApi3(@RequestParam String a){
    if (StringUtils.isEmpty(a)){
        throw new IllegalArgumentException("參數a不能爲空");
    }
    return "a: "+a;
}

2.註解處理類定義(方法必須得是 static)app

@Slf4j
public class MyBlockHandlerClass {
    // 處理限流
    public static String blockHandlerFunc(String a, BlockException e){
        log.warn("限流了",e);
        return "";
    }
    // 處理降級
    public static String fallbackFunc(String a){
        log.warn("降級了");
        return "";
    }
}
相關文章
相關標籤/搜索