Skip to content

Commit a9fd67d

Browse files
committed
Optimization GSON.
1 parent b721c41 commit a9fd67d

File tree

3 files changed

+29
-15
lines changed

3 files changed

+29
-15
lines changed

EasyRest/src/main/java/tech/dbgsoftware/easyrest/aop/resolvers/JsonDataResolve.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static Object[] resolveArgs(HttpEntity httpEntity){
3636
if (httpEntity.getRestObject().getUriValues().containsKey(name)){
3737
args[index[0]] = httpEntity.getRestObject().getUriValues().get(name);
3838
} else {
39-
args[index[0]] = JsonTranslationUtil.fromJson(httpEntity.getRequest().getJsonData(), type);
39+
args[index[0]] = isBasicType(type) ? null : JsonTranslationUtil.fromJson(httpEntity.getRequest().getJsonData(), type);
4040
if (args[index[0]] == null) {
4141
Map data = JsonTranslationUtil.fromJson(httpEntity.getRequest().getJsonData(), Map.class);
4242
if (data != null && data.containsKey(name)) {
@@ -50,4 +50,18 @@ public static Object[] resolveArgs(HttpEntity httpEntity){
5050
return args;
5151
}
5252

53+
private static boolean isBasicType(Type type) {
54+
if (type.getTypeName().equals(String.class.getName())){
55+
return true;
56+
} else if (type.getTypeName().equals(Integer.class.getName()) || type.getTypeName().equals("int")){
57+
return true;
58+
} else if (type.getTypeName().equals(Double.class.getName()) || type.getTypeName().equals("double")){
59+
return true;
60+
} else if (type.getTypeName().equals(Long.class.getName()) || type.getTypeName().equals("long")){
61+
return true;
62+
} else if (type.getTypeName().equals(Float.class.getName()) || type.getTypeName().equals("float")){
63+
return true;
64+
} else return type.getTypeName().equals(Short.class.getName()) || type.getTypeName().equals("short");
65+
}
66+
5367
}

Example/Example-Quick-Start/src/main/java/com/example/rest/TestRestService.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,12 @@ public interface TestRestService extends CustomInjection, CustomResponse {
1616
@Get
1717
@SkipCustomerInject
1818
@SkipCustomerResponse
19-
void ping();
19+
void ping(String a);
20+
21+
@Post
22+
@SkipCustomerInject
23+
@SkipCustomerResponse
24+
void postPing(String a);
2025

2126
@Get
2227
@AllDefined

Example/Example-Quick-Start/src/main/java/com/example/services/TestServiceImpl.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,18 @@
99
public class TestServiceImpl implements TestRestService {
1010

1111
@Override
12-
public void ping() {
13-
try {
14-
Thread.sleep(5000);
15-
} catch (InterruptedException e) {
16-
e.printStackTrace();
17-
}
18-
System.out.println("11");
12+
public void ping(String a) {
13+
System.out.println(a);
14+
}
15+
16+
@Override
17+
public void postPing(String a) {
18+
System.out.println(a);
1919
}
2020

2121
@Override
2222
public ResponseEntity testApi(String a, String b) {
23-
try {
24-
LogUtils.info(a + " " + b);
25-
Thread.sleep(1000 * 10);
26-
} catch (InterruptedException e) {
27-
e.printStackTrace();
28-
}
23+
LogUtils.info(a + " " + b);
2924
return ResponseEntity.buildOkResponse(a + "-" + b);
3025
}
3126

0 commit comments

Comments
 (0)