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}}