Skip to content

Commit 050dcae

Browse files
Move the singleRequestParameter template into a separate file (#21489)
* Move the singleRequestParameter template into a separate file * Update formatting of non-singleRequestParameter webclient and restclient samples
1 parent e948355 commit 050dcae

File tree

54 files changed

+812
-690
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+812
-690
lines changed

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

Lines changed: 1 addition & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -62,121 +62,8 @@ public class {{classname}} {
6262
public void setApiClient(ApiClient apiClient) {
6363
this.apiClient = apiClient;
6464
}
65-
6665
{{#operation}}
67-
{{#singleRequestParameter}}
68-
{{#hasParams}}
69-
{{^hasSingleParam}}
70-
71-
{{^staticRequest}}
72-
public record {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request({{#allParams}}{{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}){}
73-
{{/staticRequest}}
74-
{{#staticRequest}}
75-
public static class {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request {
76-
{{#allParams}}
77-
private {{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}};
78-
{{/allParams}}
79-
80-
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request() {}
81-
82-
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request({{#allParams}}{{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) {
83-
{{#allParams}}
84-
this.{{paramName}} = {{paramName}};
85-
{{/allParams}}
86-
}
87-
88-
{{#allParams}}
89-
public {{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}() {
90-
return this.{{paramName}};
91-
}
92-
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request {{paramName}}({{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}) {
93-
this.{{paramName}} = {{paramName}};
94-
return this;
95-
}
96-
97-
{{/allParams}}
98-
@Override
99-
public boolean equals(Object o) {
100-
{{#useReflectionEqualsHashCode}}
101-
return EqualsBuilder.reflectionEquals(this, o, false, null, true);
102-
{{/useReflectionEqualsHashCode}}
103-
{{^useReflectionEqualsHashCode}}
104-
if (this == o) {
105-
return true;
106-
}
107-
if (o == null || getClass() != o.getClass()) {
108-
return false;
109-
}{{#hasParams}}
110-
{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request request = ({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request) o;
111-
return {{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
112-
{{/-last}}{{/allParams}};{{/hasParams}}{{^hasParams}}
113-
return true;{{/hasParams}}
114-
{{/useReflectionEqualsHashCode}}
115-
}
116-
117-
@Override
118-
public int hashCode() {
119-
{{#useReflectionEqualsHashCode}}
120-
return HashCodeBuilder.reflectionHashCode(this);
121-
{{/useReflectionEqualsHashCode}}
122-
{{^useReflectionEqualsHashCode}}
123-
return Objects.hash({{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{paramName}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{paramName}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{paramName}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/allParams}});
124-
{{/useReflectionEqualsHashCode}}
125-
}
126-
}
127-
{{/staticRequest}}
128-
129-
/**
130-
* {{summary}}
131-
* {{notes}}
132-
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
133-
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
134-
{{#returnType}} * @return {{.}}
135-
{{/returnType}} * @throws RestClientResponseException if an error occurs while attempting to invoke the API
136-
{{#externalDocs}}
137-
* {{description}}
138-
* @see <a href="{{url}}">{{summary}} Documentation</a>
139-
{{/externalDocs}}
140-
*/
141-
public {{#returnType}}{{#isResponseFile}}{{#useAbstractionForFiles}}org.springframework.core.io.Resource{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{{returnType}}}{{/useAbstractionForFiles}}{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
142-
{{#returnType}}return {{/returnType}}this.{{operationId}}({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
143-
}
144-
145-
/**
146-
* {{summary}}
147-
* {{notes}}
148-
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
149-
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
150-
{{#returnType}} * @return ResponseEntity&lt;{{.}}&gt;
151-
{{/returnType}} * @throws RestClientResponseException if an error occurs while attempting to invoke the API
152-
{{#externalDocs}}
153-
* {{description}}
154-
* @see <a href="{{url}}">{{summary}} Documentation</a>
155-
{{/externalDocs}}
156-
*/
157-
public {{#returnType}}ResponseEntity<{{#isResponseFile}}{{#useAbstractionForFiles}}org.springframework.core.io.Resource{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{{returnType}}}{{/useAbstractionForFiles}}{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}>{{/returnType}}{{^returnType}}ResponseEntity<Void>{{/returnType}} {{operationId}}WithHttpInfo({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
158-
return this.{{operationId}}WithHttpInfo({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
159-
}
160-
161-
/**
162-
* {{summary}}
163-
* {{notes}}
164-
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
165-
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
166-
* @return ResponseSpec
167-
* @throws RestClientResponseException if an error occurs while attempting to invoke the API
168-
{{#externalDocs}}
169-
* {{description}}
170-
* @see <a href="{{url}}">{{summary}} Documentation</a>
171-
{{/externalDocs}}
172-
*/
173-
public ResponseSpec {{operationId}}WithResponseSpec({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
174-
return this.{{operationId}}WithResponseSpec({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
175-
}
176-
177-
{{/hasSingleParam}}
178-
{{/hasParams}}
179-
{{/singleRequestParameter}}
66+
{{#singleRequestParameter}}{{>single_request_parameter}}{{/singleRequestParameter}}{{^singleRequestParameter}}{{/singleRequestParameter}}
18067
/**
18168
* {{summary}}
18269
* {{notes}}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
{{#hasParams}}
2+
{{^hasSingleParam}}
3+
4+
{{^staticRequest}}
5+
public record {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request({{#allParams}}{{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}){}
6+
{{/staticRequest}}
7+
{{#staticRequest}}
8+
public static class {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request {
9+
{{#allParams}}
10+
private {{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}};
11+
{{/allParams}}
12+
13+
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request() {}
14+
15+
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request({{#allParams}}{{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) {
16+
{{#allParams}}
17+
this.{{paramName}} = {{paramName}};
18+
{{/allParams}}
19+
}
20+
21+
{{#allParams}}
22+
public {{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}() {
23+
return this.{{paramName}};
24+
}
25+
public {{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request {{paramName}}({{#isFile}}{{#useAbstractionForFiles}}{{#collectionFormat}}java.util.Collection<org.springframework.core.io.AbstractResource>{{/collectionFormat}}{{^collectionFormat}}org.springframework.core.io.AbstractResource{{/collectionFormat}}{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{>nullable_var_annotations}} {{{dataType}}}{{/useAbstractionForFiles}}{{/isFile}}{{^isFile}}{{>nullable_var_annotations}} {{{dataType}}}{{/isFile}} {{paramName}}) {
26+
this.{{paramName}} = {{paramName}};
27+
return this;
28+
}
29+
30+
{{/allParams}}
31+
@Override
32+
public boolean equals(Object o) {
33+
{{#useReflectionEqualsHashCode}}
34+
return EqualsBuilder.reflectionEquals(this, o, false, null, true);
35+
{{/useReflectionEqualsHashCode}}
36+
{{^useReflectionEqualsHashCode}}
37+
if (this == o) {
38+
return true;
39+
}
40+
if (o == null || getClass() != o.getClass()) {
41+
return false;
42+
}{{#hasParams}}
43+
{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request request = ({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request) o;
44+
return {{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
45+
{{/-last}}{{/allParams}};{{/hasParams}}{{^hasParams}}
46+
return true;{{/hasParams}}
47+
{{/useReflectionEqualsHashCode}}
48+
}
49+
50+
@Override
51+
public int hashCode() {
52+
{{#useReflectionEqualsHashCode}}
53+
return HashCodeBuilder.reflectionHashCode(this);
54+
{{/useReflectionEqualsHashCode}}
55+
{{^useReflectionEqualsHashCode}}
56+
return Objects.hash({{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{paramName}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{paramName}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{paramName}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/allParams}});
57+
{{/useReflectionEqualsHashCode}}
58+
}
59+
}
60+
{{/staticRequest}}
61+
62+
/**
63+
* {{summary}}
64+
* {{notes}}
65+
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
66+
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
67+
{{#returnType}} * @return {{.}}
68+
{{/returnType}} * @throws RestClientResponseException if an error occurs while attempting to invoke the API
69+
{{#externalDocs}}
70+
* {{description}}
71+
* @see <a href="{{url}}">{{summary}} Documentation</a>
72+
{{/externalDocs}}
73+
*/
74+
public {{#returnType}}{{#isResponseFile}}{{#useAbstractionForFiles}}org.springframework.core.io.Resource{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{{returnType}}}{{/useAbstractionForFiles}}{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
75+
{{#returnType}}return {{/returnType}}this.{{operationId}}({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
76+
}
77+
78+
/**
79+
* {{summary}}
80+
* {{notes}}
81+
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
82+
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
83+
{{#returnType}} * @return ResponseEntity&lt;{{.}}&gt;
84+
{{/returnType}} * @throws RestClientResponseException if an error occurs while attempting to invoke the API
85+
{{#externalDocs}}
86+
* {{description}}
87+
* @see <a href="{{url}}">{{summary}} Documentation</a>
88+
{{/externalDocs}}
89+
*/
90+
public {{#returnType}}ResponseEntity<{{#isResponseFile}}{{#useAbstractionForFiles}}org.springframework.core.io.Resource{{/useAbstractionForFiles}}{{^useAbstractionForFiles}}{{{returnType}}}{{/useAbstractionForFiles}}{{/isResponseFile}}{{^isResponseFile}}{{{returnType}}}{{/isResponseFile}}>{{/returnType}}{{^returnType}}ResponseEntity<Void>{{/returnType}} {{operationId}}WithHttpInfo({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
91+
return this.{{operationId}}WithHttpInfo({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
92+
}
93+
94+
/**
95+
* {{summary}}
96+
* {{notes}}
97+
{{#responses}} * <p><b>{{code}}</b>{{#message}} - {{.}}{{/message}}
98+
{{/responses}} * @param requestParameters The {{operationId}} request parameters as object
99+
* @return ResponseSpec
100+
* @throws RestClientResponseException if an error occurs while attempting to invoke the API
101+
{{#externalDocs}}
102+
* {{description}}
103+
* @see <a href="{{url}}">{{summary}} Documentation</a>
104+
{{/externalDocs}}
105+
*/
106+
public ResponseSpec {{operationId}}WithResponseSpec({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request requestParameters) throws RestClientResponseException {
107+
return this.{{operationId}}WithResponseSpec({{#allParams}}requestParameters.{{paramName}}(){{^-last}}, {{/-last}}{{/allParams}});
108+
}
109+
{{/hasSingleParam}}
110+
{{/hasParams}}

0 commit comments

Comments
 (0)