Java微服务商城高并发秒杀项目--012.自定义异常返回

当前面设定的规则没有满足是,我们可以自定义异常返回

  • FlowException 限流异常

  • DegradeException 降级异常

  • ParamFlowException 参数限流异常

  • Authority Exception 授权异常

  • SystemBlockException 系统负载异常

在shop-order-server项⽬中定义异常返回处理类:

@Component
public class ExceptionHandlerPage implements BlockExceptionHandler {
    @Override
    public void handle(HttpServletRequest request, HttpServletResponse
            response, BlockException e) throws Exception {
        response.setContentType("application/json;charset=utf-8");
        ResultData data = null;
        if (e instanceof FlowException) {
            data = new ResultData(-1, "接⼝被限流了");
        } else if (e instanceof DegradeException) {
            data = new ResultData(-2, "接⼝被降级了");
        }else if (e instanceof ParamFlowException) {
            data = new ResultData(-3, "参数限流异常");
        }else if (e instanceof AuthorityException) {
            data = new ResultData(-4, "授权异常");
        }else if (e instanceof SystemBlockException) {
            data = new ResultData(-5, "接⼝被降级了...");
        }
        response.getWriter().write(JSON.toJSONString(data));
    }
}
@Data
@AllArgsConstructor//全参构造
@NoArgsConstructor//⽆参构造
class ResultData {
    private int code;
    private String message;
}

访问http://localhost:8091/auth1?type=PC地址后进行授权:

再次访问http://localhost:8091/auth1?type=PC,发现自定义异常类生效。

你可能感兴趣的:(java,微服务)