@@ -316,28 +316,27 @@ private boolean writeRequestQueryString(
316316
317317 // Build the initial query bag.
318318 Map <String , String > queryLiterals = trait .getUri ().getQueryLiterals ();
319- if (!queryLiterals .isEmpty ()) {
320- // Write any query literals present in the uri.
321- writer .openBlock ("const query: any = {" , "};" ,
322- () -> queryLiterals .forEach ((k , v ) -> writer .write ("$S: $S," , k , v )));
323- } else if (!queryBindings .isEmpty ()) {
324- writer .write ("const query: any = {};" );
325- }
326-
327- // Handle any additional query bindings.
328- if (!queryBindings .isEmpty ()) {
329- Model model = context .getModel ();
330- for (HttpBinding binding : queryBindings ) {
331- String memberName = symbolProvider .toMemberName (binding .getMember ());
332- writer .addImport ("extendedEncodeURIComponent" , "__extendedEncodeURIComponent" ,
333- "@aws-sdk/smithy-client" );
334- writer .openBlock ("if (input.$L !== undefined) {" , "}" , memberName , () -> {
335- Shape target = model .expectShape (binding .getMember ().getTarget ());
336- String queryValue = getInputValue (context , binding .getLocation (), "input." + memberName ,
337- binding .getMember (), target );
338- writer .write ("query[$S] = $L;" , binding .getLocationName (), queryValue );
339- });
340- }
319+ if (!queryLiterals .isEmpty () || !queryBindings .isEmpty ()) {
320+ writer .openBlock ("const query: any = {" , "};" , () -> {
321+ if (!queryLiterals .isEmpty ()) {
322+ // Write any query literals present in the uri.
323+ queryLiterals .forEach ((k , v ) -> writer .write ("$S: $S," , k , v ));
324+ }
325+ // Handle any additional query bindings.
326+ if (!queryBindings .isEmpty ()) {
327+ Model model = context .getModel ();
328+ for (HttpBinding binding : queryBindings ) {
329+ String memberName = symbolProvider .toMemberName (binding .getMember ());
330+ writer .addImport ("extendedEncodeURIComponent" , "__extendedEncodeURIComponent" ,
331+ "@aws-sdk/smithy-client" );
332+ Shape target = model .expectShape (binding .getMember ().getTarget ());
333+ String queryValue = getInputValue (context , binding .getLocation (), "input." + memberName ,
334+ binding .getMember (), target );
335+ writer .write ("...(input.$L !== undefined && { $S: $L })," , memberName ,
336+ binding .getLocationName (), queryValue );
337+ }
338+ }
339+ });
341340 }
342341
343342 // Any binding or literal means we generated a query bag.
0 commit comments