spring-boot-plus
spring-boot-plus copied to clipboard
ApiResult类中 result(ApiCode apiCode,String message,T data)方法,自定义message未生效
Describe the bug result(ApiCode apiCode,String message,T data)方法应该是支持自定义message的,这里直接使用了apiCode的message,覆盖了方法传入的message
源代码:
public static <T> ApiResult<T> result(ApiCode apiCode,String message,T data){
boolean success = false;
if (apiCode.getCode() == ApiCode.SUCCESS.getCode()){
success = true;
}
String apiMessage = apiCode.getMessage();
if (StringUtils.isNotBlank(apiMessage)){
message = apiMessage;
}
return (ApiResult<T>) ApiResult.builder()
.code(apiCode.getCode())
.message(message)
.data(data)
.success(success)
.time(new Date())
.build();
}
建议添加对参数message进行非空判断,为空时使用apiCode的message,否则此方法的参数message无意义。
修改后:
public static <T> ApiResult<T> result(ApiCode apiCode,String message,T data){
boolean success = false;
if (apiCode.getCode() == ApiCode.SUCCESS.getCode()){
success = true;
}
if (StringUtils.isBlank(message)){
String apiMessage = apiCode.getMessage();
if (StringUtils.isNotBlank(apiMessage)){
message = apiMessage;
}
}
return (ApiResult<T>) ApiResult.builder()
.code(apiCode.getCode())
.message(message)
.data(data)
.success(success)
.time(new Date())
.build();
}