diff --git a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java index 517db90a0..4d08fcb74 100644 --- a/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java +++ b/http-generator-jex/src/main/java/io/avaje/http/generator/jex/ControllerMethodWriter.java @@ -103,7 +103,8 @@ private void write(boolean requestScoped) { } writer.append(" "); if (!method.isVoid()) { - writeContextReturn(); + writer.append("var result = "); + } if (instrumentContext) { method.writeContext(writer, "ctx", "ctx"); @@ -128,13 +129,17 @@ private void write(boolean requestScoped) { } } writer.append(")"); - if (!method.isVoid()) { - writer.append(")"); - } if (instrumentContext) { writer.append(")"); } writer.append(";").eol(); + if (!method.isVoid()) { + writer.append(" if (result != null) {").eol(); + writer.append(" "); + writeContextReturn(); + writer.append("result);").eol(); + writer.append(" }").eol(); + } } private void writeContextReturn() {