From a8f7c6adf4f2da32151ca32aefbca746cd6730af Mon Sep 17 00:00:00 2001 From: wangyu <727842003@qq.com> Date: Mon, 20 Feb 2023 12:25:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=87=E7=BA=A71.1.0=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 | 22 ++++++++++++++++++- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index b51bc3e..d21236d 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ group.flyfish rest-proxy - 1.0.9 + 1.1.0 8 @@ -22,7 +22,7 @@ 1.8 4.4 2.6 - 1.0.9 + 1.1.0 pom diff --git a/rest-proxy-api/pom.xml b/rest-proxy-api/pom.xml index 0356bc1..469e25c 100644 --- a/rest-proxy-api/pom.xml +++ b/rest-proxy-api/pom.xml @@ -5,7 +5,7 @@ group.flyfish rest-proxy - 1.0.9 + 1.1.0 4.0.0 diff --git a/rest-proxy-core/pom.xml b/rest-proxy-core/pom.xml index 1447af5..9c73175 100644 --- a/rest-proxy-core/pom.xml +++ b/rest-proxy-core/pom.xml @@ -5,7 +5,7 @@ group.flyfish rest-proxy - 1.0.9 + 1.1.0 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 1175aff..a8f3b2b 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,10 +21,30 @@ public abstract class AbstractParamResolver { if (DataUtils.isNotEmpty(builder.getParams())) { String start = builder.getUrl().contains("?") ? "&" : "?"; String params = builder.getParams().entrySet().stream() - .map(entry -> entry.getKey() + "=" + (null == entry.getValue() ? "" : entry.getValue())) + .map(entry -> entry.getKey() + "=" + parseValue(entry.getValue())) .collect(Collectors.joining("&")); builder.url(builder.getUrl() + start + params); } return builder; } + + /** + * 解析值 + * + * @param value 值 + * @return 结果 + */ + private String parseValue(Object value) { + if (value instanceof String) { + return (String) value; + } + if (value instanceof Iterable) { + Iterable mapped = DataUtils.cast(value); + return String.join(",", mapped); + } + if (null != value) { + return String.valueOf(value); + } + return ""; + } }