From 3f9755df0b9793002774b0becc0ff0b3e4e2f035 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Mon, 20 Feb 2023 14:23:44 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A71.1.1=EF=BC=8C?=
=?UTF-8?q?=E8=A7=A3=E5=86=B3get=E4=BC=A0=E5=8F=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 4 +--
rest-proxy-api/pom.xml | 2 +-
rest-proxy-core/pom.xml | 2 +-
.../support/AbstractParamResolver.java | 8 ++----
.../resolvers/RestParamArgumentResolver.java | 26 ++++++++++++++++---
5 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/pom.xml b/pom.xml
index d21236d..53d2c17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
group.flyfish
rest-proxy
- 1.1.0
+ 1.1.1
8
@@ -22,7 +22,7 @@
1.8
4.4
2.6
- 1.1.0
+ 1.1.1
pom
diff --git a/rest-proxy-api/pom.xml b/rest-proxy-api/pom.xml
index 469e25c..12e66da 100644
--- a/rest-proxy-api/pom.xml
+++ b/rest-proxy-api/pom.xml
@@ -5,7 +5,7 @@
group.flyfish
rest-proxy
- 1.1.0
+ 1.1.1
4.0.0
diff --git a/rest-proxy-core/pom.xml b/rest-proxy-core/pom.xml
index 9c73175..20e8151 100644
--- a/rest-proxy-core/pom.xml
+++ b/rest-proxy-core/pom.xml
@@ -5,7 +5,7 @@
group.flyfish
rest-proxy
- 1.1.0
+ 1.1.1
4.0.0
diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/core/resolver/support/AbstractParamResolver.java b/rest-proxy-core/src/main/java/group/flyfish/rest/core/resolver/support/AbstractParamResolver.java
index a8f3b2b..f54af63 100644
--- a/rest-proxy-core/src/main/java/group/flyfish/rest/core/resolver/support/AbstractParamResolver.java
+++ b/rest-proxy-core/src/main/java/group/flyfish/rest/core/resolver/support/AbstractParamResolver.java
@@ -21,7 +21,7 @@ public abstract class AbstractParamResolver {
if (DataUtils.isNotEmpty(builder.getParams())) {
String start = builder.getUrl().contains("?") ? "&" : "?";
String params = builder.getParams().entrySet().stream()
- .map(entry -> entry.getKey() + "=" + parseValue(entry.getValue()))
+ .map(entry -> entry.getKey() + "=" + valueOf(entry.getValue()))
.collect(Collectors.joining("&"));
builder.url(builder.getUrl() + start + params);
}
@@ -34,14 +34,10 @@ public abstract class AbstractParamResolver {
* @param value 值
* @return 结果
*/
- private String parseValue(Object value) {
+ private String valueOf(Object value) {
if (value instanceof String) {
return (String) value;
}
- if (value instanceof Iterable) {
- Iterable extends CharSequence> mapped = DataUtils.cast(value);
- return String.join(",", mapped);
- }
if (null != value) {
return String.valueOf(value);
}
diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/support/resolvers/RestParamArgumentResolver.java b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/support/resolvers/RestParamArgumentResolver.java
index 271dfb8..49d5307 100644
--- a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/support/resolvers/RestParamArgumentResolver.java
+++ b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/support/resolvers/RestParamArgumentResolver.java
@@ -56,7 +56,7 @@ public class RestParamArgumentResolver implements RestArgumentResolver {
if (context.getMethod().isMergeBody()) {
context.setBody(name, value);
} else {
- context.setParam(name, value);
+ context.setParam(name, parseValue(value));
}
}
}
@@ -79,7 +79,7 @@ public class RestParamArgumentResolver implements RestArgumentResolver {
Map values = DataUtils.cast(value);
values.forEach((k, v) -> {
if (null != v) {
- context.setParam(k, String.valueOf(v));
+ context.setParam(k, parseValue(v));
}
});
} else {
@@ -95,10 +95,30 @@ public class RestParamArgumentResolver implements RestArgumentResolver {
log.error("【Rest客户端】尝试解析参数时发生异常!获取bean的属性表失败!{}", e.getMessage(), e);
}
if (null != v) {
- context.setParam(propertyDescriptor.getName(), String.valueOf(v));
+ context.setParam(propertyDescriptor.getName(), parseValue(v));
}
}
}
}
}
+
+ /**
+ * 解析值
+ *
+ * @param value 值
+ * @return 结果
+ */
+ private String parseValue(Object value) {
+ if (value instanceof String) {
+ return (String) value;
+ }
+ if (value instanceof Iterable) {
+ Iterable extends CharSequence> mapped = DataUtils.cast(value);
+ return String.join(",", mapped);
+ }
+ if (null != value) {
+ return String.valueOf(value);
+ }
+ return "";
+ }
}