github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/vertx/apiImpl.mustache (about) 1 package {{package}}; 2 3 {{#imports}}import {{import}}; 4 {{/imports}} 5 6 import io.vertx.core.AsyncResult; 7 import io.vertx.core.Handler; 8 import io.vertx.core.MultiMap; 9 import io.vertx.core.json.JsonObject; 10 11 import com.fasterxml.jackson.core.type.TypeReference; 12 13 import java.util.*; 14 15 import {{invokerPackage}}.ApiClient; 16 import {{invokerPackage}}.ApiException; 17 import {{invokerPackage}}.Configuration; 18 import {{invokerPackage}}.Pair; 19 20 {{>generatedAnnotation}} 21 {{#operations}} 22 public class {{classname}}Impl implements {{classname}} { 23 24 private ApiClient apiClient; 25 26 public {{classname}}Impl() { 27 this(null); 28 } 29 30 public {{classname}}Impl(ApiClient apiClient) { 31 this.apiClient = apiClient != null ? apiClient : Configuration.getDefaultApiClient(); 32 } 33 34 public ApiClient getApiClient() { 35 return apiClient; 36 } 37 38 public void setApiClient(ApiClient apiClient) { 39 this.apiClient = apiClient; 40 } 41 42 {{#operation}} 43 /** 44 * {{summary}} 45 * {{notes}} 46 {{#allParams}} 47 * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/required}} 48 {{/allParams}} 49 * @param resultHandler Asynchronous result handler 50 */ 51 public void {{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}Handler<AsyncResult<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}>> resultHandler) { 52 Object localVarBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}}; 53 {{#allParams}}{{#required}} 54 // verify the required parameter '{{paramName}}' is set 55 if ({{paramName}} == null) { 56 resultHandler.handle(ApiException.fail(400, "Missing the required parameter '{{paramName}}' when calling {{operationId}}")); 57 return; 58 } 59 {{/required}}{{/allParams}} 60 // create path and map variables 61 String localVarPath = "{{{path}}}"{{#pathParams}}.replaceAll("\\{" + "{{baseName}}" + "\\}", {{{paramName}}}.toString()){{/pathParams}}; 62 63 // query params 64 List<Pair> localVarQueryParams = new ArrayList<>(); 65 {{#queryParams}} 66 localVarQueryParams.addAll(apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}})); 67 {{/queryParams}} 68 69 // header params 70 MultiMap localVarHeaderParams = MultiMap.caseInsensitiveMultiMap(); 71 {{#headerParams}}if ({{paramName}} != null) 72 localVarHeaderParams.add("{{baseName}}", apiClient.parameterToString({{paramName}})); 73 {{/headerParams}} 74 75 // cookie params 76 MultiMap localVarCookieParams = MultiMap.caseInsensitiveMultiMap(); 77 {{#cookieParams}}if ({{paramName}} != null) 78 localVarCookieParams.add("{{baseName}}", apiClient.parameterToString({{paramName}})); 79 {{/cookieParams}} 80 81 // form params 82 // TODO: sending files within multipart/form-data is not supported yet (because of vertx web-client) 83 Map<String, Object> localVarFormParams = new HashMap<>(); 84 {{#formParams}}if ({{paramName}} != null) localVarFormParams.put("{{baseName}}", {{paramName}}); 85 {{/formParams}} 86 87 String[] localVarAccepts = { {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }; 88 String[] localVarContentTypes = { {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }; 89 String[] localVarAuthNames = new String[] { {{#authMethods}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} }; 90 {{#returnType}} 91 TypeReference<{{{returnType}}}> localVarReturnType = new TypeReference<{{{returnType}}}>() {}; 92 apiClient.invokeAPI(localVarPath, "{{httpMethod}}", localVarQueryParams, localVarBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAccepts, localVarContentTypes, localVarAuthNames, localVarReturnType, resultHandler);{{/returnType}}{{^returnType}} 93 apiClient.invokeAPI(localVarPath, "{{httpMethod}}", localVarQueryParams, localVarBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAccepts, localVarContentTypes, localVarAuthNames, null, resultHandler);{{/returnType}} 94 } 95 {{/operation}} 96 } 97 {{/operations}}