@Component public class ServiceBlockExceptionHandler implements BlockExceptionHandler { @Override public void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception { //response.setStatus(601); //设置响应数据的编码 response.setCharacterEncoding("utf-8"); //告诉客户端要响应的数据类型以及客户端以什么编码呈现数据 response.setContentType("text/html;charset=utf-8"); PrintWriter pw=response.getWriter(); Mapmap=new HashMap<>(); if(e instanceof DegradeException){//降级、熔断 map.put("status",601); map.put("message", "服务被熔断了!"); }else if(e instanceof FlowException){ map.put("status",602); map.put("message", "服务被限流了!"); }else{ map.put("status",603); map.put("message", "Blocked by Sentinel (flow limiting)"); } //将map对象转换为json格式字符串 String jsonStr=new ObjectMapper().writevalueAsString(map); pw.println(jsonStr); pw.flush(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)