avaje/avaje-http

Javalin Controller not writing JsonType variable assignment generated when using a CompletableFuture

LoonyRules opened this issue · 0 comments

Knew there'd be something we missed when adding this functionality.

What happened?
If you define a controller with a single endpoint that has a CompletableFuture<List<String>> as a return type, then the generator does not write the this.listStringJsonType = ...; line of code.

If you had another endpoint in the same controller that did return List<String> as a return type, then you wouldn't notice the issue, this is how our HelloControllerTests work and why they didn't pick up on the issue.

What is expected?
The this.listStringJsonType = ...; line generation should be written at least only once, and not doing some hackery to stop the line being generated twice.


Both @SentryMan and I have a similar approach for fixing this, so we'll work something out so a v1.27 can be release ASAP. A temporary work around is outlined in the second paragraph of What Happened?.