小程序限流返回统一状态码

This commit is contained in:
LIONCITYS\lioncity
2020-10-16 17:52:57 +08:00
parent f00f05133f
commit 59592dd8af
5 changed files with 84 additions and 1 deletions

View File

@ -91,6 +91,10 @@ public enum ApiCode {
HTTP_REQUEST_METHOD_NOT_SUPPORTED_EXCEPTION(5108, "METHOD NOT SUPPORTED"),
/**
* 访问次数受限制
**/
BAD_LIMIT_EXCEPTION(5109, "访问次数受限制"),
;
private final int code;

View File

@ -6,6 +6,7 @@
package co.yixiang.aspect;
import co.yixiang.annotation.Limit;
import co.yixiang.exception.BadLimitRequestException;
import co.yixiang.exception.BadRequestException;
import co.yixiang.utils.RequestHolder;
import co.yixiang.utils.StringUtils;
@ -68,7 +69,7 @@ public class LimitAspect {
logger.info("第{}次访问key为 {},描述为 [{}] 的接口", count, keys, limit.name());
return joinPoint.proceed();
} else {
throw new BadRequestException("访问次数受限制");
throw new BadLimitRequestException("访问次数受限制");
}
}

View File

@ -0,0 +1,32 @@
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
*/
package co.yixiang.exception;
import co.yixiang.api.ApiCode;
import lombok.Getter;
import org.springframework.http.HttpStatus;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
/**
* @author Zheng Jie
* @date 2018-11-23
* 统一异常处理
*/
@Getter
public class BadLimitRequestException extends RuntimeException{
private Integer status = ApiCode.BAD_LIMIT_EXCEPTION.getCode();
public BadLimitRequestException(String msg){
super(msg);
}
public BadLimitRequestException(HttpStatus status, String msg){
super(msg);
this.status = status.value();
}
}