Skip to content

Commit 8e32cd6

Browse files
committed
Merge branch '3.6.x'
2 parents 37d87a1 + cd8e071 commit 8e32cd6

File tree

6 files changed

+32
-14
lines changed

6 files changed

+32
-14
lines changed

framework/dependency/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
<byte-buddy.version>1.18.2</byte-buddy.version>
5656
<druid.version>1.2.25</druid.version>
5757
<fastjson.version>1.2.83</fastjson.version>
58+
<fastjson2.version>2.0.60</fastjson2.version>
5859
<guava.version>32.0.1-jre</guava.version>
5960
<hanlp.version>portable-1.8.4</hanlp.version>
6061
<lombok.version>1.18.36</lombok.version>
@@ -465,6 +466,11 @@
465466
<artifactId>fastjson</artifactId>
466467
<version>${fastjson.version}</version>
467468
</dependency>
469+
<dependency>
470+
<groupId>com.alibaba.fastjson2</groupId>
471+
<artifactId>fastjson2</artifactId>
472+
<version>${fastjson2.version}</version>
473+
</dependency>
468474
<dependency>
469475
<groupId>com.fasterxml.jackson.core</groupId>
470476
<artifactId>jackson-annotations</artifactId>

framework/fel/java/services/tool-service/src/test/java/modelengine/fel/tool/support/HttpToolTest.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import modelengine.fitframework.util.IoUtils;
2626
import modelengine.fitframework.util.MapBuilder;
2727
import modelengine.fitframework.util.StringUtils;
28+
import modelengine.fitframework.util.TypeUtils;
2829
import modelengine.fitframework.value.ValueFetcher;
2930

3031
import org.junit.jupiter.api.AfterAll;
@@ -34,6 +35,7 @@
3435

3536
import java.io.IOException;
3637
import java.io.InputStream;
38+
import java.lang.reflect.Type;
3739
import java.net.ServerSocket;
3840
import java.net.URL;
3941
import java.util.HashMap;
@@ -124,6 +126,12 @@ private static Tool createTool(Tool.Info info) {
124126
return factory.create(info, toolMetadata);
125127
}
126128

129+
private static Map<String, Object> deserializeJsonObject(String json) {
130+
ObjectSerializer jsonSerializer = new JacksonObjectSerializer(null, null, null, true);
131+
Type objectType = TypeUtils.parameterized(Map.class, new Type[] {String.class, Object.class});
132+
return jsonSerializer.deserialize(json, objectType);
133+
}
134+
127135
@Test
128136
@DisplayName("测试返回值为 Map 成功")
129137
void shouldReturnMap() {
@@ -186,7 +194,8 @@ void BasicShouldReturnOk() {
186194
Tool.Info info = readToolInfo("basic-auth.json");
187195
Tool tool = createTool(info);
188196

189-
boolean result = cast(tool.execute("{\"name\":\"testuser\", \"pwd\":\"testpass\"}"));
197+
Map<String, Object> args = deserializeJsonObject("{\"name\":\"testuser\", \"pwd\":\"testpass\"}");
198+
boolean result = cast(tool.execute(args));
190199
assertThat(result).isEqualTo(true);
191200
}
192201

@@ -196,7 +205,8 @@ void ApiKeyShouldReturnOk() {
196205
Tool.Info info = readToolInfo("api-key-auth.json");
197206
Tool tool = createTool(info);
198207

199-
boolean result = cast(tool.execute("{\"name\":\"ApiKey\", \"pwd\":\"ApiKeyValue\"}"));
208+
Map<String, Object> args = deserializeJsonObject("{\"name\":\"ApiKey\", \"pwd\":\"ApiKeyValue\"}");
209+
boolean result = cast(tool.execute(args));
200210
assertThat(result).isEqualTo(true);
201211
}
202212

@@ -206,7 +216,8 @@ void ApiKeyQueryShouldReturnOk() {
206216
Tool.Info info = readToolInfo("api-key-query-auth.json");
207217
Tool tool = createTool(info);
208218

209-
boolean result = cast(tool.execute("{\"name\":\"ApiKey\", \"pwd\":\"ApiKeyValue\"}"));
219+
Map<String, Object> args = deserializeJsonObject("{\"name\":\"ApiKey\", \"pwd\":\"ApiKeyValue\"}");
220+
boolean result = cast(tool.execute(args));
210221
assertThat(result).isEqualTo(true);
211222
}
212223

@@ -216,7 +227,8 @@ void BearerShouldReturnOk() {
216227
Tool.Info info = readToolInfo("bearer-auth.json");
217228
Tool tool = createTool(info);
218229

219-
boolean result = cast(tool.execute("{\"name\":\"test666666666\", \"pwd\":\"invalid\"}"));
230+
Map<String, Object> args = deserializeJsonObject("{\"name\":\"test666666666\", \"pwd\":\"invalid\"}");
231+
boolean result = cast(tool.execute(args));
220232
assertThat(result).isEqualTo(true);
221233
}
222-
}
234+
}

framework/fit/java/fit-api/src/main/java/modelengine/fitframework/value/ValueFetcher.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ public interface ValueFetcher {
4040
* +---------------------+--------------+---------------------+
4141
* </pre>
4242
* 任意输入对象都可以转换为键值对的形式。
43+
* <p><strong>注意:</strong>当 {@code object} 为 {@link String} 时,默认按普通字符串处理,不会自动解析 JSON 文本。
44+
* 如果需要从 JSON 字符串中取值,请调用方先使用 {@link modelengine.fitframework.serialization.ObjectSerializer}
45+
* 将其反序列化为对象,再调用本方法。</p>
4346
*
4447
* @param object 表示指定对象的 {@link Object}。
4548
* @param propertyPath 表示待获取属性的路径的 {@link String}。

framework/fit/java/fit-api/src/main/java/modelengine/fitframework/value/ValueSetter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ public interface ValueSetter {
4141
* +---------------------+--------------+-------+----------------------+
4242
* </pre>
4343
* 任意输入对象都可以转换为键值对的形式。
44+
* <p><strong>注意:</strong>当 {@code object} 为 {@link String} 时,默认按普通字符串处理,不会自动解析 JSON 文本。
45+
* 如果需要在 JSON 字符串上设置属性,请调用方先使用 {@link modelengine.fitframework.serialization.ObjectSerializer}
46+
* 将其反序列化为对象,再调用本方法。</p>
4447
*
4548
* @param object 表示指定对象的 {@link Object}。
4649
* @param propertyPath 表示待替换属性的路径的 {@link String}。

framework/fit/java/fit-builtin/plugins/fit-value-fastjson/pom.xml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@
1717
</description>
1818
<url>https://github.com/ModelEngine-Group/fit-framework</url>
1919

20-
<properties>
21-
<!-- Third-party versions -->
22-
<fastjson.version>1.2.83</fastjson.version>
23-
</properties>
24-
2520
<dependencies>
2621
<!-- FIT core -->
2722
<dependency>
@@ -35,9 +30,8 @@
3530

3631
<!-- Fastjson -->
3732
<dependency>
38-
<groupId>com.alibaba</groupId>
39-
<artifactId>fastjson</artifactId>
40-
<version>${fastjson.version}</version>
33+
<groupId>com.alibaba.fastjson2</groupId>
34+
<artifactId>fastjson2</artifactId>
4135
</dependency>
4236

4337
<!-- Test -->

framework/fit/java/fit-builtin/plugins/fit-value-fastjson/src/main/java/modelengine/fit/value/fastjson/FastJsonValueHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
package modelengine.fit.value.fastjson;
88

9-
import com.alibaba.fastjson.JSONPath;
9+
import com.alibaba.fastjson2.JSONPath;
1010

1111
import modelengine.fitframework.annotation.Component;
1212
import modelengine.fitframework.util.StringUtils;

0 commit comments

Comments
 (0)