From 67ea450d18495efd0f40917567fae09c46660682 Mon Sep 17 00:00:00 2001 From: WenG <450292408@qq.com> Date: Thu, 14 Oct 2021 23:09:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ink/wgink/gateway/annoation/CheckEmptyAnnotation.java | 2 ++ .../java/ink/wgink/gateway/handler/route/RouteHandler.java | 3 +-- .../ink/wgink/gateway/handler/routetype/RouteTypeHandler.java | 4 ++-- .../ink/wgink/gateway/pojo/route/request/RequestHeader.java | 2 +- .../wgink/gateway/pojo/route/request/RequestParameter.java | 2 +- .../ink/wgink/gateway/pojo/route/request/ResponseHeader.java | 2 +- .../java/ink/wgink/gateway/util/RequestFieldCheckUtil.java | 3 +++ src/main/resources/application-test.yml | 4 ++-- 8 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/ink/wgink/gateway/annoation/CheckEmptyAnnotation.java b/src/main/java/ink/wgink/gateway/annoation/CheckEmptyAnnotation.java index 90ca4a3..9afc5b4 100644 --- a/src/main/java/ink/wgink/gateway/annoation/CheckEmptyAnnotation.java +++ b/src/main/java/ink/wgink/gateway/annoation/CheckEmptyAnnotation.java @@ -25,4 +25,6 @@ public @interface CheckEmptyAnnotation { String regex() default ""; + boolean noBlank() default false; + } diff --git a/src/main/java/ink/wgink/gateway/handler/route/RouteHandler.java b/src/main/java/ink/wgink/gateway/handler/route/RouteHandler.java index f2a7f18..8e737c7 100644 --- a/src/main/java/ink/wgink/gateway/handler/route/RouteHandler.java +++ b/src/main/java/ink/wgink/gateway/handler/route/RouteHandler.java @@ -7,7 +7,6 @@ import ink.wgink.gateway.exception.SearchException; import ink.wgink.gateway.handler.BaseHandler; import ink.wgink.gateway.pojo.result.SuccessResult; 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.RequestFieldCheckUtil; import org.apache.commons.lang3.StringUtils; @@ -165,7 +164,7 @@ public class RouteHandler extends BaseHandler implements ApplicationEventPublish String routeTypeTrim = routeType.get().trim(); route.setRouteType(routeTypeTrim); } - ExampleMatcher exampleMatcher = ExampleMatcher.matching() + ExampleMatcher exampleMatcher = ExampleMatcher.matchingAny() .withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("routeType", ExampleMatcher.GenericPropertyMatcher::exact) diff --git a/src/main/java/ink/wgink/gateway/handler/routetype/RouteTypeHandler.java b/src/main/java/ink/wgink/gateway/handler/routetype/RouteTypeHandler.java index c086d24..2d1eb32 100644 --- a/src/main/java/ink/wgink/gateway/handler/routetype/RouteTypeHandler.java +++ b/src/main/java/ink/wgink/gateway/handler/routetype/RouteTypeHandler.java @@ -126,10 +126,10 @@ public class RouteTypeHandler extends BaseHandler { routeType.setTitle(keywordTrim); routeType.setSummary(keywordTrim); - ExampleMatcher exampleMatcher = ExampleMatcher.matching() + ExampleMatcher exampleMatcher = ExampleMatcher.matchingAny() .withMatcher("title", ExampleMatcher.GenericPropertyMatcher::contains) .withMatcher("summary", ExampleMatcher.GenericPropertyMatcher::contains) - .withIgnoreCase("id"); + .withIgnoreCase("id", "summary"); example = Example.of(routeType, exampleMatcher); } return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8).body(routeTypeDao.findAll(example), RouteType.class); diff --git a/src/main/java/ink/wgink/gateway/pojo/route/request/RequestHeader.java b/src/main/java/ink/wgink/gateway/pojo/route/request/RequestHeader.java index 74262d7..b3d9a22 100644 --- a/src/main/java/ink/wgink/gateway/pojo/route/request/RequestHeader.java +++ b/src/main/java/ink/wgink/gateway/pojo/route/request/RequestHeader.java @@ -22,7 +22,7 @@ public class RequestHeader extends BasePOJO { private String routeId; @CheckEmptyAnnotation(name = "类型") private String type; - @CheckEmptyAnnotation(name = "名称") + @CheckEmptyAnnotation(name = "名称", noBlank = true) private String name; private String value; diff --git a/src/main/java/ink/wgink/gateway/pojo/route/request/RequestParameter.java b/src/main/java/ink/wgink/gateway/pojo/route/request/RequestParameter.java index 4a1ea48..a0eb132 100644 --- a/src/main/java/ink/wgink/gateway/pojo/route/request/RequestParameter.java +++ b/src/main/java/ink/wgink/gateway/pojo/route/request/RequestParameter.java @@ -22,7 +22,7 @@ public class RequestParameter extends BasePOJO { private String routeId; @CheckEmptyAnnotation(name = "类型") private String type; - @CheckEmptyAnnotation(name = "名称") + @CheckEmptyAnnotation(name = "名称", noBlank = true) private String name; private String value; diff --git a/src/main/java/ink/wgink/gateway/pojo/route/request/ResponseHeader.java b/src/main/java/ink/wgink/gateway/pojo/route/request/ResponseHeader.java index 5a13c7e..0507d72 100644 --- a/src/main/java/ink/wgink/gateway/pojo/route/request/ResponseHeader.java +++ b/src/main/java/ink/wgink/gateway/pojo/route/request/ResponseHeader.java @@ -22,7 +22,7 @@ public class ResponseHeader extends BasePOJO { private String routeId; @CheckEmptyAnnotation(name = "类型") private String type; - @CheckEmptyAnnotation(name = "名称") + @CheckEmptyAnnotation(name = "名称", noBlank = true) private String name; private String value; diff --git a/src/main/java/ink/wgink/gateway/util/RequestFieldCheckUtil.java b/src/main/java/ink/wgink/gateway/util/RequestFieldCheckUtil.java index c4fdfca..1a152db 100644 --- a/src/main/java/ink/wgink/gateway/util/RequestFieldCheckUtil.java +++ b/src/main/java/ink/wgink/gateway/util/RequestFieldCheckUtil.java @@ -48,6 +48,9 @@ public class RequestFieldCheckUtil { if (fieldValue == null || StringUtils.isBlank(fieldValue.toString())) { 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()); checkTypes(checkEmptyAnnotation.name(), fieldValue.toString(), checkEmptyAnnotation.types()); } else if (field.isAnnotationPresent(CheckNumberAnnotation.class)) { diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 116109b..8aa1330 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -10,9 +10,9 @@ spring: use-insecure-trust-manager: true data: mongodb: - uri: mongodb://127.0.0.1:27017/gateway + uri: mongodb://192.168.0.151:27017/gateway kafka: - bootstrap-servers: 127.0.0.1:9092 + bootstrap-servers: 192.168.0.151:9092 producer: # 写入失败时,重试次数。当leader节点失效,一个repli节点会替代成为leader节点,此时可能出现写入失败, # 当retris为0时,produce不会重复。retirs重发,此时repli节点完全成为leader节点,不会产生消息丢失。