Skip to content

Commit e44a40d

Browse files
committed
Update WebService.
1 parent af3bc16 commit e44a40d

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

kilo-server/src/main/java/org/httprpc/kilo/WebService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,7 +1499,7 @@ private void describeResource(String path, Resource resource) {
14991499
for (var handler : entry.getValue()) {
15001500
var operation = new OperationDescriptor(entry.getKey().toString(), handler);
15011501

1502-
operation.produces = describeGenericType(handler.getGenericReturnType());
1502+
operation.produces = describeType(handler.getGenericReturnType());
15031503

15041504
var parameters = handler.getParameters();
15051505

@@ -1530,7 +1530,7 @@ private void describeResource(String path, Resource resource) {
15301530
operation.bodyParameter = parameterDescriptor;
15311531
}
15321532

1533-
parameterDescriptor.type = describeGenericType(parameter.getParameterizedType());
1533+
parameterDescriptor.type = describeType(parameter.getParameterizedType());
15341534
}
15351535

15361536
endpoint.operations.add(operation);
@@ -1545,17 +1545,17 @@ private void describeResource(String path, Resource resource) {
15451545
}
15461546
}
15471547

1548-
private TypeDescriptor describeGenericType(Type type) {
1548+
private TypeDescriptor describeType(Type type) {
15491549
if (type instanceof Class<?>) {
15501550
return describeRawType((Class<?>)type);
15511551
} else if (type instanceof ParameterizedType parameterizedType) {
15521552
var rawType = (Class<?>)parameterizedType.getRawType();
15531553
var actualTypeArguments = parameterizedType.getActualTypeArguments();
15541554

15551555
if (Iterable.class.isAssignableFrom(rawType)) {
1556-
return new IterableTypeDescriptor(describeGenericType(actualTypeArguments[0]));
1556+
return new IterableTypeDescriptor(describeType(actualTypeArguments[0]));
15571557
} else if (Map.class.isAssignableFrom(rawType)) {
1558-
return new MapTypeDescriptor(describeGenericType(actualTypeArguments[0]), describeGenericType(actualTypeArguments[1]));
1558+
return new MapTypeDescriptor(describeType(actualTypeArguments[0]), describeType(actualTypeArguments[1]));
15591559
} else {
15601560
throw new IllegalArgumentException("Unsupported parameterized type.");
15611561
}
@@ -1642,7 +1642,7 @@ private TypeDescriptor describeRawType(Class<?> type) {
16421642

16431643
var propertyDescriptor = new PropertyDescriptor(entry.getKey(), accessor);
16441644

1645-
propertyDescriptor.type = describeGenericType(accessor.getGenericReturnType());
1645+
propertyDescriptor.type = describeType(accessor.getGenericReturnType());
16461646

16471647
structure.properties.add(propertyDescriptor);
16481648
}

kilo-test/src/main/java/org/httprpc/kilo/test/TestService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
import java.util.List;
4747
import java.util.Map;
4848
import java.util.NoSuchElementException;
49+
import java.util.SequencedMap;
4950
import java.util.Set;
5051
import java.util.UUID;
5152

@@ -291,7 +292,7 @@ public List<String> testPostList(List<String> list) {
291292

292293
@RequestMethod("POST")
293294
@ResourcePath("map")
294-
public Map<String, Double> testPostMap(Map<String, Double> map) {
295+
public Map<String, Double> testPostMap(SequencedMap<String, Double> map) {
295296
return map;
296297
}
297298

0 commit comments

Comments
 (0)