Skip to content

Commit d2db94b

Browse files
committed
[helidon] Fix for list of query parameters or form parameters
Add the test and fix for this case.
1 parent 9003f34 commit d2db94b

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

http-generator-helidon/src/main/java/io/avaje/http/generator/helidon/nima/NimaPlatformAdapter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ public void writeReadMapParameter(Append writer, ParamType paramType) {
118118
@Override
119119
public void writeReadCollectionParameter(Append writer, ParamType paramType, String paramName) {
120120
switch (paramType) {
121-
case QUERYPARAM -> writer.append("queryParams.all(\"%s\")", paramName);
122-
case FORMPARAM -> writer.append("formParams.all(\"%s\")", paramName);
121+
case QUERYPARAM -> writer.append("queryParams.all(\"%s\", () -> java.util.List.of())", paramName);
122+
case FORMPARAM -> writer.append("formParams.all(\"%s\", () -> java.util.List.of())", paramName);
123123

124124
case HEADER -> writer.append(
125125
"req.headers().all(\"%s\", () -> java.util.List.of())", paramName);

tests/test-nima/src/test/java/org/example/HelloControllerTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,15 @@ void listParamMultiple() {
3232
assertThat(res.statusCode()).isEqualTo(200);
3333
assertThat(res.body()).isEqualTo("codes:[123, 456]");
3434
}
35+
36+
@Test
37+
void listParamEmpty() {
38+
HttpResponse<String> res = client().request()
39+
.path("listParams")
40+
.GET()
41+
.asPlainString();
42+
43+
assertThat(res.statusCode()).isEqualTo(200);
44+
assertThat(res.body()).isEqualTo("codes:[]");
45+
}
3546
}

0 commit comments

Comments
 (0)