Skip to content

Commit 5702751

Browse files
authored
[Java] Respect User Supplied Header Params (#20042)
* [Java] Respect User Supplied Header Params * remove if `dynamicOperations` true
1 parent a7a8639 commit 5702751

File tree

21 files changed

+212
-137
lines changed

21 files changed

+212
-137
lines changed

bin/utils/test_file_list.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/JSONTest.java"
1313
sha256: e673d9928c8eb848262d0116fe0d28db832e128671a810a7c966d06d90cb9b63
1414
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/api/PetApiTest.java"
15-
sha256: 0d64cdc11809a7b5b952ccdad2bd91bd0045b3894d6fabf3e368fa0be12b8217
15+
sha256: 8b1b8f2a2ad00ccb090873a94a5f73e328b98317d2ec715f53bd7a1accb2a023
1616
- filename: "samples/client/petstore/java/okhttp-gson/src/test/java/org/openapitools/client/model/PetTest.java"
1717
sha256: a1f8a70bf7b0c382a8def5bacf7b1fb189e687fabb40235aa799001e0597f545

modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/api.mustache

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,6 @@ public class {{classname}} {
180180

181181
{{/isQueryParam}}
182182
{{/constantParams}}
183-
{{#headerParams}}
184-
if ({{paramName}} != null) {
185-
localVarHeaderParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}}));
186-
}
187-
188-
{{/headerParams}}
189183
{{#constantParams}}
190184
{{#isHeaderParam}}
191185
// Set client side default value of Header Param "{{baseName}}".
@@ -230,6 +224,15 @@ public class {{classname}} {
230224
if (localVarContentType != null) {
231225
localVarHeaderParams.put("Content-Type", localVarContentType);
232226
}
227+
{{^dynamicOperations}}
228+
{{#headerParams}}
229+
230+
if ({{paramName}} != null) {
231+
localVarHeaderParams.put("{{baseName}}", localVarApiClient.parameterToString({{paramName}}));
232+
}
233+
234+
{{/headerParams}}
235+
{{/dynamicOperations}}
233236

234237
String[] localVarAuthNames = new String[] { {{#withAWSV4Signature}}"AWS4Auth"{{/withAWSV4Signature}}{{#authMethods}}{{#-first}}{{#withAWSV4Signature}}, {{/withAWSV4Signature}}{{/-first}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} };
235238
return localVarApiClient.buildCall(basePath, localVarPath, {{^dynamicOperations}}"{{httpMethod}}"{{/dynamicOperations}}{{#dynamicOperations}}apiOperation.getMethod(){{/dynamicOperations}}, localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);

modules/openapi-generator/src/test/resources/3_0/java/petstore-with-fake-endpoints-models-for-testing-okhttp-gson.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,13 @@ paths:
258258
schema:
259259
type: integer
260260
format: int64
261+
- name: Content-Type
262+
in: header
263+
style: simple
264+
description: Content type header parameter
265+
required: false
266+
schema:
267+
type: string
261268
responses:
262269
'200':
263270
description: successful operation

samples/client/echo_api/java/okhttp-gson-user-defined-templates/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,6 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
242242
Map<String, String> localVarCookieParams = new HashMap<String, String>();
243243
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
244244

245-
if (apiKey != null) {
246-
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
247-
}
248-
249245
final String[] localVarAccepts = {
250246
};
251247
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -260,6 +256,11 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
260256
localVarHeaderParams.put("Content-Type", localVarContentType);
261257
}
262258

259+
if (apiKey != null) {
260+
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
261+
}
262+
263+
263264
String[] localVarAuthNames = new String[] { "petstore_auth" };
264265
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
265266
}

samples/client/echo_api/java/okhttp-gson/src/main/java/org/openapitools/client/api/HeaderApi.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -113,40 +113,45 @@ public okhttp3.Call testHeaderIntegerBooleanStringEnumsCall(Integer integerHeade
113113
Map<String, String> localVarCookieParams = new HashMap<String, String>();
114114
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
115115

116+
final String[] localVarAccepts = {
117+
"text/plain"
118+
};
119+
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
120+
if (localVarAccept != null) {
121+
localVarHeaderParams.put("Accept", localVarAccept);
122+
}
123+
124+
final String[] localVarContentTypes = {
125+
};
126+
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
127+
if (localVarContentType != null) {
128+
localVarHeaderParams.put("Content-Type", localVarContentType);
129+
}
130+
116131
if (integerHeader != null) {
117132
localVarHeaderParams.put("integer_header", localVarApiClient.parameterToString(integerHeader));
118133
}
119134

135+
120136
if (booleanHeader != null) {
121137
localVarHeaderParams.put("boolean_header", localVarApiClient.parameterToString(booleanHeader));
122138
}
123139

140+
124141
if (stringHeader != null) {
125142
localVarHeaderParams.put("string_header", localVarApiClient.parameterToString(stringHeader));
126143
}
127144

145+
128146
if (enumNonrefStringHeader != null) {
129147
localVarHeaderParams.put("enum_nonref_string_header", localVarApiClient.parameterToString(enumNonrefStringHeader));
130148
}
131149

150+
132151
if (enumRefStringHeader != null) {
133152
localVarHeaderParams.put("enum_ref_string_header", localVarApiClient.parameterToString(enumRefStringHeader));
134153
}
135154

136-
final String[] localVarAccepts = {
137-
"text/plain"
138-
};
139-
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
140-
if (localVarAccept != null) {
141-
localVarHeaderParams.put("Accept", localVarAccept);
142-
}
143-
144-
final String[] localVarContentTypes = {
145-
};
146-
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
147-
if (localVarContentType != null) {
148-
localVarHeaderParams.put("Content-Type", localVarContentType);
149-
}
150155

151156
String[] localVarAuthNames = new String[] { };
152157
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/api/FakeApi.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -806,10 +806,6 @@ public okhttp3.Call refToRefParameterCall(UUID refToUuid, final ApiCallback _cal
806806
Map<String, String> localVarCookieParams = new HashMap<String, String>();
807807
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
808808

809-
if (refToUuid != null) {
810-
localVarHeaderParams.put("ref_to_uuid", localVarApiClient.parameterToString(refToUuid));
811-
}
812-
813809
final String[] localVarAccepts = {
814810
"text/plain"
815811
};
@@ -825,6 +821,11 @@ public okhttp3.Call refToRefParameterCall(UUID refToUuid, final ApiCallback _cal
825821
localVarHeaderParams.put("Content-Type", localVarContentType);
826822
}
827823

824+
if (refToUuid != null) {
825+
localVarHeaderParams.put("ref_to_uuid", localVarApiClient.parameterToString(refToUuid));
826+
}
827+
828+
828829
String[] localVarAuthNames = new String[] { };
829830
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
830831
}
@@ -932,10 +933,6 @@ public okhttp3.Call refToRefParameterAnyofCall(RefToRefParameterAnyofRefToAnyofP
932933
Map<String, String> localVarCookieParams = new HashMap<String, String>();
933934
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
934935

935-
if (refToAnyof != null) {
936-
localVarHeaderParams.put("ref_to_anyof", localVarApiClient.parameterToString(refToAnyof));
937-
}
938-
939936
final String[] localVarAccepts = {
940937
};
941938
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -950,6 +947,11 @@ public okhttp3.Call refToRefParameterAnyofCall(RefToRefParameterAnyofRefToAnyofP
950947
localVarHeaderParams.put("Content-Type", localVarContentType);
951948
}
952949

950+
if (refToAnyof != null) {
951+
localVarHeaderParams.put("ref_to_anyof", localVarApiClient.parameterToString(refToAnyof));
952+
}
953+
954+
953955
String[] localVarAuthNames = new String[] { };
954956
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
955957
}
@@ -1053,10 +1055,6 @@ public okhttp3.Call refToRefParameterOneofCall(RefRefToPathLevelParameterOneofRe
10531055
Map<String, String> localVarCookieParams = new HashMap<String, String>();
10541056
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
10551057

1056-
if (refToOneof != null) {
1057-
localVarHeaderParams.put("ref_to_oneof", localVarApiClient.parameterToString(refToOneof));
1058-
}
1059-
10601058
final String[] localVarAccepts = {
10611059
};
10621060
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -1071,6 +1069,11 @@ public okhttp3.Call refToRefParameterOneofCall(RefRefToPathLevelParameterOneofRe
10711069
localVarHeaderParams.put("Content-Type", localVarContentType);
10721070
}
10731071

1072+
if (refToOneof != null) {
1073+
localVarHeaderParams.put("ref_to_oneof", localVarApiClient.parameterToString(refToOneof));
1074+
}
1075+
1076+
10741077
String[] localVarAuthNames = new String[] { };
10751078
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
10761079
}

samples/client/petstore/java/okhttp-gson-3.1/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,6 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
242242
Map<String, String> localVarCookieParams = new HashMap<String, String>();
243243
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
244244

245-
if (apiKey != null) {
246-
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
247-
}
248-
249245
final String[] localVarAccepts = {
250246
};
251247
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -260,6 +256,11 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
260256
localVarHeaderParams.put("Content-Type", localVarContentType);
261257
}
262258

259+
if (apiKey != null) {
260+
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
261+
}
262+
263+
263264
String[] localVarAuthNames = new String[] { "petstore_auth" };
264265
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
265266
}

samples/client/petstore/java/okhttp-gson-awsv4signature/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -242,10 +242,6 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
242242
Map<String, String> localVarCookieParams = new HashMap<String, String>();
243243
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
244244

245-
if (apiKey != null) {
246-
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
247-
}
248-
249245
final String[] localVarAccepts = {
250246
};
251247
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -260,6 +256,11 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
260256
localVarHeaderParams.put("Content-Type", localVarContentType);
261257
}
262258

259+
if (apiKey != null) {
260+
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
261+
}
262+
263+
263264
String[] localVarAuthNames = new String[] { "AWS4Auth", "petstore_auth" };
264265
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
265266
}

samples/client/petstore/java/okhttp-gson-group-parameter/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,6 @@ private okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback
259259
Map<String, String> localVarCookieParams = new HashMap<String, String>();
260260
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
261261

262-
if (apiKey != null) {
263-
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
264-
}
265-
266262
final String[] localVarAccepts = {
267263
};
268264
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -277,6 +273,11 @@ private okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback
277273
localVarHeaderParams.put("Content-Type", localVarContentType);
278274
}
279275

276+
if (apiKey != null) {
277+
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
278+
}
279+
280+
280281
String[] localVarAuthNames = new String[] { "petstore_auth" };
281282
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
282283
}

samples/client/petstore/java/okhttp-gson-nullable-required/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -232,10 +232,6 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
232232
Map<String, String> localVarCookieParams = new HashMap<String, String>();
233233
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
234234

235-
if (apiKey != null) {
236-
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
237-
}
238-
239235
final String[] localVarAccepts = {
240236
};
241237
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -250,6 +246,11 @@ public okhttp3.Call deletePetCall(Long petId, String apiKey, final ApiCallback _
250246
localVarHeaderParams.put("Content-Type", localVarContentType);
251247
}
252248

249+
if (apiKey != null) {
250+
localVarHeaderParams.put("api_key", localVarApiClient.parameterToString(apiKey));
251+
}
252+
253+
253254
String[] localVarAuthNames = new String[] { "petstore_auth" };
254255
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
255256
}

samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/api/AnotherFakeApi.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,6 @@ public okhttp3.Call call123testSpecialTagsCall(UUID uuidTest, Client body, final
111111
Map<String, String> localVarCookieParams = new HashMap<String, String>();
112112
Map<String, Object> localVarFormParams = new HashMap<String, Object>();
113113

114-
if (uuidTest != null) {
115-
localVarHeaderParams.put("uuid_test", localVarApiClient.parameterToString(uuidTest));
116-
}
117-
118114
final String[] localVarAccepts = {
119115
"application/json"
120116
};
@@ -131,6 +127,11 @@ public okhttp3.Call call123testSpecialTagsCall(UUID uuidTest, Client body, final
131127
localVarHeaderParams.put("Content-Type", localVarContentType);
132128
}
133129

130+
if (uuidTest != null) {
131+
localVarHeaderParams.put("uuid_test", localVarApiClient.parameterToString(uuidTest));
132+
}
133+
134+
134135
String[] localVarAuthNames = new String[] { };
135136
return localVarApiClient.buildCall(basePath, localVarPath, "PATCH", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
136137
}

samples/client/petstore/java/okhttp-gson-parcelableModel/src/main/java/org/openapitools/client/api/FakeApi.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1357,14 +1357,6 @@ public okhttp3.Call testEnumParametersCall(List<String> enumHeaderStringArray, S
13571357
localVarQueryParams.addAll(localVarApiClient.parameterToPair("enum_query_double", enumQueryDouble));
13581358
}
13591359

1360-
if (enumHeaderStringArray != null) {
1361-
localVarHeaderParams.put("enum_header_string_array", localVarApiClient.parameterToString(enumHeaderStringArray));
1362-
}
1363-
1364-
if (enumHeaderString != null) {
1365-
localVarHeaderParams.put("enum_header_string", localVarApiClient.parameterToString(enumHeaderString));
1366-
}
1367-
13681360
final String[] localVarAccepts = {
13691361
};
13701362
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -1380,6 +1372,16 @@ public okhttp3.Call testEnumParametersCall(List<String> enumHeaderStringArray, S
13801372
localVarHeaderParams.put("Content-Type", localVarContentType);
13811373
}
13821374

1375+
if (enumHeaderStringArray != null) {
1376+
localVarHeaderParams.put("enum_header_string_array", localVarApiClient.parameterToString(enumHeaderStringArray));
1377+
}
1378+
1379+
1380+
if (enumHeaderString != null) {
1381+
localVarHeaderParams.put("enum_header_string", localVarApiClient.parameterToString(enumHeaderString));
1382+
}
1383+
1384+
13831385
String[] localVarAuthNames = new String[] { };
13841386
return localVarApiClient.buildCall(basePath, localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
13851387
}
@@ -1506,14 +1508,6 @@ private okhttp3.Call testGroupParametersCall(Integer requiredStringGroup, Boolea
15061508
localVarQueryParams.addAll(localVarApiClient.parameterToPair("int64_group", int64Group));
15071509
}
15081510

1509-
if (requiredBooleanGroup != null) {
1510-
localVarHeaderParams.put("required_boolean_group", localVarApiClient.parameterToString(requiredBooleanGroup));
1511-
}
1512-
1513-
if (booleanGroup != null) {
1514-
localVarHeaderParams.put("boolean_group", localVarApiClient.parameterToString(booleanGroup));
1515-
}
1516-
15171511
final String[] localVarAccepts = {
15181512
};
15191513
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
@@ -1528,6 +1522,16 @@ private okhttp3.Call testGroupParametersCall(Integer requiredStringGroup, Boolea
15281522
localVarHeaderParams.put("Content-Type", localVarContentType);
15291523
}
15301524

1525+
if (requiredBooleanGroup != null) {
1526+
localVarHeaderParams.put("required_boolean_group", localVarApiClient.parameterToString(requiredBooleanGroup));
1527+
}
1528+
1529+
1530+
if (booleanGroup != null) {
1531+
localVarHeaderParams.put("boolean_group", localVarApiClient.parameterToString(booleanGroup));
1532+
}
1533+
1534+
15311535
String[] localVarAuthNames = new String[] { };
15321536
return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
15331537
}

0 commit comments

Comments
 (0)