From af73c26519f7356efb8b07b773187be5451d7925 Mon Sep 17 00:00:00 2001 From: Jeanderson Barros Candido <2225536+jeandersonbc@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:36:08 +0100 Subject: [PATCH] FIX check for required query parameters for services The current template does not enforce the presence of required query parameters. The change in the template allows to throw a runtime exception for missing required parameters. Optional query params are added next to the required params with the existing null check. --- templates-v7/libraries/jersey3/api.mustache | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/templates-v7/libraries/jersey3/api.mustache b/templates-v7/libraries/jersey3/api.mustache index cdf01dece..b75b93a1a 100644 --- a/templates-v7/libraries/jersey3/api.mustache +++ b/templates-v7/libraries/jersey3/api.mustache @@ -70,10 +70,24 @@ public class {{classname}} extends Service { {{#hasQueryParams}} //Add query params Map queryParams = new HashMap<>(); + + {{! Add first all required query params }} {{#queryParams}} - if ({{{paramName}}} != null) { + {{#required}} + if ({{{paramName}}} == null) { + throw new IllegalArgumentException("Please provide the {{{paramName}}} query parameter"); + } queryParams.put("{{baseName}}", {{{paramName}}}{{^isString}}.toString(){{/isString}}); + {{/required}} + {{/queryParams}} + + {{! Then, add all the optional query params }} + {{#queryParams}} + {{^required}} + if ({{{paramName}}} != null) { + queryParams.put("{{baseName}}", {{{paramName}}}{{^isString}}.toString(){{/isString}}); } + {{/required}} {{/queryParams}} {{/hasQueryParams}}