feat(sj_1.0.0): 客户端接口采用@Validated+@Valid校验

This commit is contained in:
opensnail 2024-05-28 12:18:29 +08:00
parent d930624185
commit c447379f7c
2 changed files with 11 additions and 19 deletions

View File

@ -19,9 +19,11 @@ import com.aizuda.snailjob.common.core.model.Result;
import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.log.enums.LogTypeEnum;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Valid;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import org.springframework.validation.annotation.Validated;
import java.util.Objects;
import java.util.Set;
@ -35,17 +37,11 @@ import static com.aizuda.snailjob.common.core.constant.SystemConstants.HTTP_PATH
* @date : 2023-09-27 16:33
*/
@SnailEndPoint
@Validated
public class JobEndPoint {
@Mapping(path = JOB_DISPATCH, method = RequestMethod.POST)
public Result<Boolean> dispatchJob(DispatchJobRequest dispatchJob) {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
Set<ConstraintViolation<DispatchJobRequest>> set = validator.validate(dispatchJob);
for (final ConstraintViolation<DispatchJobRequest> violation : set) {
return new Result<>(violation.getMessage(), Boolean.FALSE);
}
public Result<Boolean> dispatchJob(@Valid DispatchJobRequest dispatchJob) {
try {
JobContext jobContext = buildJobContext(dispatchJob);
@ -118,7 +114,7 @@ public class JobEndPoint {
}
@Mapping(path = JOB_STOP, method = RequestMethod.POST)
public Result<Boolean> stopJob(StopJobDTO interruptJob) {
public Result<Boolean> stopJob(@Valid StopJobDTO interruptJob) {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();

View File

@ -31,6 +31,7 @@ import com.aizuda.snailjob.common.log.SnailJobLog;
import com.aizuda.snailjob.common.log.enums.LogTypeEnum;
import com.fasterxml.jackson.core.JsonProcessingException;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.Valid;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
@ -38,6 +39,7 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.util.ReflectionUtils;
import org.springframework.validation.annotation.Validated;
import java.lang.reflect.Method;
import java.util.Objects;
@ -52,6 +54,7 @@ import static com.aizuda.snailjob.common.core.constant.SystemConstants.HTTP_PATH
* @date : 2022-03-09 16:33
*/
@SnailEndPoint
@Validated
public class SnailRetryEndPoint {
@Autowired
@ -62,14 +65,7 @@ public class SnailRetryEndPoint {
* 服务端调度重试入口
*/
@Mapping(path = RETRY_DISPATCH, method = RequestMethod.POST)
public Result<DispatchRetryResultDTO> dispatch(DispatchRetryDTO executeReqDto) {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
Set<ConstraintViolation<DispatchRetryDTO>> set = validator.validate(executeReqDto);
for (final ConstraintViolation<DispatchRetryDTO> violation : set) {
return new Result<>(violation.getMessage(), null);
}
public Result<DispatchRetryResultDTO> dispatch(@Valid DispatchRetryDTO executeReqDto) {
RetryerInfo retryerInfo = RetryerInfoCache.get(executeReqDto.getScene(), executeReqDto.getExecutorName());
if (Objects.isNull(retryerInfo)) {
@ -148,7 +144,7 @@ public class SnailRetryEndPoint {
@Mapping(path = RETRY_CALLBACK, method = RequestMethod.POST)
public Result callback(RetryCallbackDTO callbackDTO) {
public Result callback(@Valid RetryCallbackDTO callbackDTO) {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
Validator validator = vf.getValidator();
@ -266,7 +262,7 @@ public class SnailRetryEndPoint {
* @return idempotentId
*/
@Mapping(path = RETRY_GENERATE_IDEM_ID, method = RequestMethod.POST)
public Result<String> idempotentIdGenerate(
public Result<String> idempotentIdGenerate(@Valid
GenerateRetryIdempotentIdDTO generateRetryIdempotentIdDTO) {
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();