Skip to content

Commit f283499

Browse files
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.
1 parent 3b7be19 commit f283499

1 file changed

Lines changed: 15 additions & 1 deletion

File tree

templates-v7/libraries/jersey3/api.mustache

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,24 @@ public class {{classname}} extends Service {
7070
{{#hasQueryParams}}
7171
//Add query params
7272
Map<String, String> queryParams = new HashMap<>();
73+
74+
{{! Add first all required query params }}
7375
{{#queryParams}}
74-
if ({{{paramName}}} != null) {
76+
{{#required}}
77+
if ({{{paramName}}} == null) {
78+
throw new IllegalArgumentException("Please provide the {{{paramName}}} query parameter");
79+
}
7580
queryParams.put("{{baseName}}", {{{paramName}}}{{^isString}}.toString(){{/isString}});
81+
{{/required}}
82+
{{/queryParams}}
83+
84+
{{! Then, add all the optional query params }}
85+
{{#queryParams}}
86+
{{^required}}
87+
if ({{{paramName}}} != null) {
88+
queryParams.put("{{baseName}}", {{{paramName}}}{{^isString}}.toString(){{/isString}});
7689
}
90+
{{/required}}
7791
{{/queryParams}}
7892

7993
{{/hasQueryParams}}

0 commit comments

Comments
 (0)