处理问题

This commit is contained in:
WenG 2021-10-14 23:09:07 +08:00
parent e89c104a43
commit 67ea450d18
8 changed files with 13 additions and 9 deletions

View File

@ -25,4 +25,6 @@ public @interface CheckEmptyAnnotation {
String regex() default ""; String regex() default "";
boolean noBlank() default false;
} }

View File

@ -7,7 +7,6 @@ import ink.wgink.gateway.exception.SearchException;
import ink.wgink.gateway.handler.BaseHandler; import ink.wgink.gateway.handler.BaseHandler;
import ink.wgink.gateway.pojo.result.SuccessResult; import ink.wgink.gateway.pojo.result.SuccessResult;
import ink.wgink.gateway.pojo.route.Route; import ink.wgink.gateway.pojo.route.Route;
import ink.wgink.gateway.pojo.routetype.RouteType;
import ink.wgink.gateway.util.RegexUtil; import ink.wgink.gateway.util.RegexUtil;
import ink.wgink.gateway.util.RequestFieldCheckUtil; import ink.wgink.gateway.util.RequestFieldCheckUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -165,7 +164,7 @@ public class RouteHandler extends BaseHandler implements ApplicationEventPublish
String routeTypeTrim = routeType.get().trim(); String routeTypeTrim = routeType.get().trim();
route.setRouteType(routeTypeTrim); route.setRouteType(routeTypeTrim);
} }
ExampleMatcher exampleMatcher = ExampleMatcher.matching() ExampleMatcher exampleMatcher = ExampleMatcher.matchingAny()
.withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains)
.withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains)
.withMatcher("routeType", ExampleMatcher.GenericPropertyMatcher::exact) .withMatcher("routeType", ExampleMatcher.GenericPropertyMatcher::exact)

View File

@ -126,10 +126,10 @@ public class RouteTypeHandler extends BaseHandler {
routeType.setTitle(keywordTrim); routeType.setTitle(keywordTrim);
routeType.setSummary(keywordTrim); routeType.setSummary(keywordTrim);
ExampleMatcher exampleMatcher = ExampleMatcher.matching() ExampleMatcher exampleMatcher = ExampleMatcher.matchingAny()
.withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains)
.withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains)
.withIgnoreCase("id"); .withIgnoreCase("id", "summary");
example = Example.of(routeType, exampleMatcher); example = Example.of(routeType, exampleMatcher);
} }
return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8).body(routeTypeDao.findAll(example), RouteType.class); return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8).body(routeTypeDao.findAll(example), RouteType.class);

View File

@ -22,7 +22,7 @@ public class RequestHeader extends BasePOJO {
private String routeId; private String routeId;
@CheckEmptyAnnotation(name = "类型") @CheckEmptyAnnotation(name = "类型")
private String type; private String type;
@CheckEmptyAnnotation(name = "名称") @CheckEmptyAnnotation(name = "名称", noBlank = true)
private String name; private String name;
private String value; private String value;

View File

@ -22,7 +22,7 @@ public class RequestParameter extends BasePOJO {
private String routeId; private String routeId;
@CheckEmptyAnnotation(name = "类型") @CheckEmptyAnnotation(name = "类型")
private String type; private String type;
@CheckEmptyAnnotation(name = "名称") @CheckEmptyAnnotation(name = "名称", noBlank = true)
private String name; private String name;
private String value; private String value;

View File

@ -22,7 +22,7 @@ public class ResponseHeader extends BasePOJO {
private String routeId; private String routeId;
@CheckEmptyAnnotation(name = "类型") @CheckEmptyAnnotation(name = "类型")
private String type; private String type;
@CheckEmptyAnnotation(name = "名称") @CheckEmptyAnnotation(name = "名称", noBlank = true)
private String name; private String name;
private String value; private String value;

View File

@ -48,6 +48,9 @@ public class RequestFieldCheckUtil {
if (fieldValue == null || StringUtils.isBlank(fieldValue.toString())) { if (fieldValue == null || StringUtils.isBlank(fieldValue.toString())) {
throw new ParamsException(String.format("%s不能为空或空串", checkEmptyAnnotation.name())); throw new ParamsException(String.format("%s不能为空或空串", checkEmptyAnnotation.name()));
} }
if(checkEmptyAnnotation.noBlank() && (fieldValue.toString().contains(" ") || fieldValue.toString().contains(" "))) {
throw new ParamsException(String.format("%s不能有空格", checkEmptyAnnotation.name()));
}
checkRegular(checkEmptyAnnotation.name(), fieldValue.toString(), checkEmptyAnnotation.verifyType(), checkEmptyAnnotation.regex()); checkRegular(checkEmptyAnnotation.name(), fieldValue.toString(), checkEmptyAnnotation.verifyType(), checkEmptyAnnotation.regex());
checkTypes(checkEmptyAnnotation.name(), fieldValue.toString(), checkEmptyAnnotation.types()); checkTypes(checkEmptyAnnotation.name(), fieldValue.toString(), checkEmptyAnnotation.types());
} else if (field.isAnnotationPresent(CheckNumberAnnotation.class)) { } else if (field.isAnnotationPresent(CheckNumberAnnotation.class)) {

View File

@ -10,9 +10,9 @@ spring:
use-insecure-trust-manager: true use-insecure-trust-manager: true
data: data:
mongodb: mongodb:
uri: mongodb://127.0.0.1:27017/gateway uri: mongodb://192.168.0.151:27017/gateway
kafka: kafka:
bootstrap-servers: 127.0.0.1:9092 bootstrap-servers: 192.168.0.151:9092
producer: producer:
# 写入失败时重试次数。当leader节点失效一个repli节点会替代成为leader节点此时可能出现写入失败 # 写入失败时重试次数。当leader节点失效一个repli节点会替代成为leader节点此时可能出现写入失败
# 当retris为0时produce不会重复。retirs重发此时repli节点完全成为leader节点不会产生消息丢失。 # 当retris为0时produce不会重复。retirs重发此时repli节点完全成为leader节点不会产生消息丢失。