package com.kidgrow.sentinel.config; import cn.hutool.json.JSONUtil; import com.alibaba.csp.sentinel.adapter.servlet.callback.UrlBlockHandler; import com.alibaba.csp.sentinel.adapter.servlet.callback.WebCallbackManager; import com.alibaba.csp.sentinel.slots.block.BlockException; import com.kidgrow.common.model.ResultBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description: Sentinel配置类
* @Project:
* @CreateDate: Created in 2020/3/4 09:52
* @Author: liuke */ public class SentinelAutoConfigure { public SentinelAutoConfigure() { WebCallbackManager.setUrlBlockHandler(new CustomUrlBlockHandler()); } /** * 限流、熔断统一处理类 */ public class CustomUrlBlockHandler implements UrlBlockHandler { @Override public void blocked(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, BlockException e) throws IOException { ResultBody result = ResultBody.failed("flow-limiting"); httpServletResponse.getWriter().print(JSONUtil.toJsonStr(result)); } } }