Skip to content

Commit 619b975

Browse files
committed
Fix WebFlux JSON array decoding: add reproducer tests for empty and non-empty lists
1 parent 2abd120 commit 619b975

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

spring-webflux/src/test/java/org/springframework/web/reactive/function/client/StringArrayDecodeTests.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,33 @@ void decodeNotEmptyList() {
4141

4242
disposable.disposeNow();
4343
}
44+
45+
@Test
46+
void decodeEmptyList() {
47+
HttpServer server = HttpServer.create()
48+
.port(0)
49+
.route(routes -> routes.get("/empty", (req, res) ->
50+
res.addHeader("Content-Type", "application/json")
51+
.sendString(Mono.just("[]"))
52+
));
53+
54+
var disposable = server.bindNow();
55+
int port = disposable.port();
56+
57+
WebClient client = WebClient.builder()
58+
.baseUrl("http://localhost:" + port)
59+
.build();
60+
61+
List<String> values = client.get()
62+
.uri("/empty")
63+
.accept(MediaType.APPLICATION_JSON)
64+
.retrieve()
65+
.bodyToMono(new ParameterizedTypeReference<@NotNull List<String>>() {})
66+
.block();
67+
68+
assertThat(values).isEmpty();
69+
70+
disposable.disposeNow();
71+
}
72+
4473
}

0 commit comments

Comments
 (0)