327 lines
17 KiB
Plaintext
327 lines
17 KiB
Plaintext
package {{package}};
|
|
|
|
{{#legacyDates}}
|
|
import {{invokerPackage}}.ParamExpander;
|
|
{{/legacyDates}}
|
|
import {{modelPackage}}.ApiResponse;
|
|
|
|
{{#imports}}import {{import}};
|
|
{{/imports}}
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
{{#useBeanValidation}}
|
|
import {{javaxPackage}}.validation.constraints.*;
|
|
import {{javaxPackage}}.validation.Valid;
|
|
|
|
{{/useBeanValidation}}
|
|
import feign.*;
|
|
|
|
{{>generatedAnnotation}}
|
|
public interface {{classname}} {
|
|
|
|
{{#operations}}{{#operation}}
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
{{#allParams}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/allParams}}
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
{{#externalDocs}}
|
|
* {{description}}
|
|
* @see <a href="{{url}}">{{summary}} Documentation</a>
|
|
{{/externalDocs}}
|
|
{{#isDeprecated}}
|
|
* @deprecated
|
|
{{/isDeprecated}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}{{#hasQueryParams}}?{{/hasQueryParams}}{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{^-last}}&{{/-last}}{{/queryParams}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
{{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/allParams}}@HeaderMap Map<String, String> headers);
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Convenience method with empty headers.
|
|
{{#allParams}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/allParams}}
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
{{#isDeprecated}}
|
|
* @deprecated
|
|
{{/isDeprecated}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
default {{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}void{{/returnType}} {{nickname}}({{#allParams}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) {
|
|
{{#returnType}}return {{/returnType}}{{nickname}}({{#allParams}}{{paramName}}, {{/allParams}}Map.of());
|
|
}
|
|
|
|
/**
|
|
* {{summary}}
|
|
* Similar to <code>{{operationId}}</code> but it also returns the http response headers .
|
|
* {{notes}}
|
|
{{#allParams}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/allParams}}
|
|
{{#returnType}}
|
|
* @return A ApiResponse that wraps the response boyd and the http headers.
|
|
{{/returnType}}
|
|
{{#externalDocs}}
|
|
* {{description}}
|
|
* @see <a href="{{url}}">{{summary}} Documentation</a>
|
|
{{/externalDocs}}
|
|
{{#isDeprecated}}
|
|
* @deprecated
|
|
{{/isDeprecated}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}{{#hasQueryParams}}?{{/hasQueryParams}}{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{^-last}}&{{/-last}}{{/queryParams}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/allParams}}@HeaderMap Map<String, String> headers);
|
|
|
|
|
|
{{#hasQueryParams}}
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Note, this is equivalent to the other <code>{{operationId}}</code> method,
|
|
* but with the query parameters collected into a single Map parameter. This
|
|
* is convenient for services with optional query parameters, especially when
|
|
* used with the {@link {{operationIdCamelCase}}QueryParams} class that allows for
|
|
* building up this map in a fluent style.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Map of query parameters as name-value pairs
|
|
* <p>The following elements may be specified in the query map:</p>
|
|
* <ul>
|
|
{{#queryParams}}
|
|
* <li>{{paramName}} - {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}</li>
|
|
{{/queryParams}}
|
|
* </ul>
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
{{#externalDocs}}
|
|
* {{description}}
|
|
* @see <a href="{{url}}">{{summary}} Documentation</a>
|
|
{{/externalDocs}}
|
|
{{#isDeprecated}}
|
|
* @deprecated
|
|
{{/isDeprecated}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}?{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{^-last}}&{{/-last}}{{/queryParams}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
{{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) {{operationIdCamelCase}}QueryParams queryParams, @HeaderMap Map<String, String> headers);
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Convenience method that uses typed QueryParams and empty headers.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Query parameters as typed object
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
default {{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}void{{/returnType}} {{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) {{operationIdCamelCase}}QueryParams queryParams) {
|
|
{{#returnType}}return {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{paramName}}, {{/isQueryParam}}{{/allParams}}queryParams, Map.of());
|
|
}
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Convenience method that accepts generic query parameters map.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Query parameters as generic map
|
|
* @param headers Custom headers to include in the request
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}?{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{^-last}}&{{/-last}}{{/queryParams}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
{{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map<String, Object> queryParams, @HeaderMap Map<String, String> headers);
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Convenience method that accepts generic query parameters map with empty headers.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Query parameters as generic map
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
default {{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}void{{/returnType}} {{nickname}}({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map<String, Object> queryParams) {
|
|
{{#returnType}}return {{/returnType}}{{nickname}}({{#allParams}}{{^isQueryParam}}{{paramName}}, {{/isQueryParam}}{{/allParams}}queryParams, Map.of());
|
|
}
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Note, this is equivalent to the other <code>{{operationId}}</code> that receives the query parameters as a map,
|
|
* but this one also exposes the Http response headers
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Map of query parameters as name-value pairs
|
|
* <p>The following elements may be specified in the query map:</p>
|
|
* <ul>
|
|
{{#queryParams}}
|
|
* <li>{{paramName}} - {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}</li>
|
|
{{/queryParams}}
|
|
* </ul>
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
{{#externalDocs}}
|
|
* {{description}}
|
|
* @see <a href="{{url}}">{{summary}} Documentation</a>
|
|
{{/externalDocs}}
|
|
{{#isDeprecated}}
|
|
* @deprecated
|
|
{{/isDeprecated}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}?{{#queryParams}}{{baseName}}={{=<% %>=}}{<%paramName%>}<%={{ }}=%>{{^-last}}&{{/-last}}{{/queryParams}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
ApiResponse<{{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}Void{{/returnType}}> {{nickname}}WithHttpInfo({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) {{operationIdCamelCase}}QueryParams queryParams, @HeaderMap Map<String, String> headers);
|
|
|
|
|
|
/**
|
|
* A convenience class for generating query parameters for the
|
|
* <code>{{operationId}}</code> method in a fluent style.
|
|
*/
|
|
public static class {{operationIdCamelCase}}QueryParams extends HashMap<String, Object> {
|
|
{{#queryParams}}
|
|
public {{operationIdCamelCase}}QueryParams {{paramName}}(final {{{dataType}}} value) {
|
|
put("{{baseName}}", value);
|
|
return this;
|
|
}
|
|
{{/queryParams}}
|
|
}
|
|
{{/hasQueryParams}}
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Universal method that accepts generic query parameters map with headers.
|
|
* Useful for passing undocumented or optional query parameters.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Query parameters as generic map (e.g., template=true, associations=all)
|
|
* @param headers Custom headers to include in the request
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
@RequestLine("{{httpMethod}} {{{path}}}")
|
|
@Headers({
|
|
{{#vendorExtensions.x-content-type}} "Content-Type: {{{vendorExtensions.x-content-type}}}",
|
|
{{/vendorExtensions.x-content-type}} "Accept: {{#vendorExtensions.x-accepts}}{{{.}}}{{^-last}},{{/-last}}{{/vendorExtensions.x-accepts}}",{{#headerParams}}
|
|
"{{baseName}}: {{=<% %>=}}{<%paramName%>}<%={{ }}=%>"{{^-last}},
|
|
{{/-last}}{{/headerParams}}
|
|
})
|
|
{{#returnType}}{{{.}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{nickname}}Universal({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map<String, Object> queryParams, @HeaderMap Map<String, String> headers);
|
|
|
|
/**
|
|
* {{summary}}
|
|
* {{notes}}
|
|
* Universal method that accepts generic query parameters map with empty headers.
|
|
{{#allParams}}
|
|
{{^isQueryParam}}
|
|
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}{{/isContainer}}){{/required}}
|
|
{{/isQueryParam}}
|
|
{{/allParams}}
|
|
* @param queryParams Query parameters as generic map
|
|
{{#returnType}}
|
|
* @return {{.}}
|
|
{{/returnType}}
|
|
*/
|
|
{{#isDeprecated}}
|
|
@Deprecated
|
|
{{/isDeprecated}}
|
|
default {{#returnType}}{{{.}}}{{/returnType}}{{^returnType}}void{{/returnType}} {{nickname}}Universal({{#allParams}}{{^isQueryParam}}{{^isBodyParam}}{{^isFormParam}}{{^legacyDates}}@Param("{{paramName}}") {{/legacyDates}}{{#legacyDates}}@Param(value="{{paramName}}", expander=ParamExpander.class) {{/legacyDates}}{{/isFormParam}}{{#isFormParam}}@Param("{{baseName}}") {{/isFormParam}}{{/isBodyParam}}{{{dataType}}} {{paramName}}, {{/isQueryParam}}{{/allParams}}@QueryMap(encoded=true) Map<String, Object> queryParams) {
|
|
{{#returnType}}return {{/returnType}}{{nickname}}Universal({{#allParams}}{{^isQueryParam}}{{paramName}}, {{/isQueryParam}}{{/allParams}}queryParams, Map.of());
|
|
}
|
|
|
|
{{/operation}}
|
|
{{/operations}}
|
|
}
|