From d269a2a09d86c461c1e586122980a5ba347dff83 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 6 Jan 2023 17:10:06 +0800 Subject: [PATCH] Add deepObject query string support in Java native client (#14378) * add deepObject query string support in java native client * fix array of query parameters * minor fix * update samples * fix test --- .../Java/libraries/native/api.mustache | 24 ++-- .../Java/libraries/native/model.mustache | 3 + .../Java/libraries/native/modelEnum.mustache | 115 +++++++++++++++ .../Java/libraries/native/pojo.mustache | 125 ++++++++++++++++ .../java/JavaClientDeepObjectTest.java | 6 +- .../src/test/resources/3_0/echo_api.yaml | 21 +++ .../echo_api/java/apache-httpclient/README.md | 1 + .../java/apache-httpclient/api/openapi.yaml | 23 +++ .../java/apache-httpclient/docs/QueryApi.md | 67 +++++++++ .../org/openapitools/client/api/QueryApi.java | 52 +++++++ .../echo_api/java/feign-gson/api/openapi.yaml | 23 +++ .../org/openapitools/client/api/QueryApi.java | 77 ++++++++++ samples/client/echo_api/java/native/README.md | 2 + .../echo_api/java/native/api/openapi.yaml | 23 +++ .../echo_api/java/native/docs/QueryApi.md | 136 ++++++++++++++++++ .../org/openapitools/client/api/QueryApi.java | 118 ++++++++++++++- .../openapitools/client/model/Category.java | 29 ++++ .../org/openapitools/client/model/Pet.java | 55 +++++++ .../org/openapitools/client/model/Tag.java | 29 ++++ ...deTrueArrayStringQueryObjectParameter.java | 26 ++++ .../org/openapitools/client/CustomTest.java | 20 ++- .../org/openapitools/client/api/FakeApi.java | 53 ++++++- .../org/openapitools/client/api/PetApi.java | 16 ++- .../org/openapitools/client/api/UserApi.java | 9 +- .../model/AdditionalPropertiesClass.java | 33 +++++ .../client/model/AllOfWithSingleRef.java | 29 ++++ .../org/openapitools/client/model/Animal.java | 29 ++++ .../model/ArrayOfArrayOfNumberOnly.java | 28 ++++ .../client/model/ArrayOfNumberOnly.java | 28 ++++ .../openapitools/client/model/ArrayTest.java | 42 ++++++ .../client/model/Capitalization.java | 49 +++++++ .../org/openapitools/client/model/Cat.java | 34 +++++ .../openapitools/client/model/CatAllOf.java | 24 ++++ .../openapitools/client/model/Category.java | 29 ++++ .../openapitools/client/model/ClassModel.java | 24 ++++ .../org/openapitools/client/model/Client.java | 24 ++++ .../client/model/DeprecatedObject.java | 24 ++++ .../org/openapitools/client/model/Dog.java | 34 +++++ .../openapitools/client/model/DogAllOf.java | 24 ++++ .../openapitools/client/model/EnumArrays.java | 31 ++++ .../openapitools/client/model/EnumClass.java | 18 +++ .../openapitools/client/model/EnumTest.java | 59 ++++++++ .../client/model/FileSchemaTestClass.java | 33 +++++ .../org/openapitools/client/model/Foo.java | 24 ++++ .../client/model/FooGetDefaultResponse.java | 24 ++++ .../openapitools/client/model/FormatTest.java | 99 +++++++++++++ .../client/model/HasOnlyReadOnly.java | 29 ++++ .../client/model/HealthCheckResult.java | 24 ++++ .../openapitools/client/model/MapTest.java | 47 ++++++ ...ropertiesAndAdditionalPropertiesClass.java | 38 +++++ .../client/model/Model200Response.java | 29 ++++ .../client/model/ModelApiResponse.java | 34 +++++ .../openapitools/client/model/ModelFile.java | 24 ++++ .../openapitools/client/model/ModelList.java | 24 ++++ .../client/model/ModelReturn.java | 24 ++++ .../org/openapitools/client/model/Name.java | 39 +++++ .../client/model/NullableClass.java | 91 ++++++++++++ .../openapitools/client/model/NumberOnly.java | 24 ++++ .../model/ObjectWithDeprecatedFields.java | 41 ++++++ .../org/openapitools/client/model/Order.java | 49 +++++++ .../client/model/OuterComposite.java | 34 +++++ .../openapitools/client/model/OuterEnum.java | 18 +++ .../client/model/OuterEnumDefaultValue.java | 18 +++ .../client/model/OuterEnumInteger.java | 18 +++ .../model/OuterEnumIntegerDefaultValue.java | 18 +++ .../model/OuterObjectWithEnumProperty.java | 24 ++++ .../org/openapitools/client/model/Pet.java | 57 ++++++++ .../client/model/ReadOnlyFirst.java | 29 ++++ .../client/model/SingleRefType.java | 18 +++ .../client/model/SpecialModelName.java | 24 ++++ .../org/openapitools/client/model/Tag.java | 29 ++++ .../org/openapitools/client/model/User.java | 59 ++++++++ .../org/openapitools/client/api/PetApi.java | 16 ++- .../org/openapitools/client/api/UserApi.java | 9 +- .../openapitools/client/model/Category.java | 29 ++++ .../client/model/ModelApiResponse.java | 34 +++++ .../org/openapitools/client/model/Order.java | 49 +++++++ .../org/openapitools/client/model/Pet.java | 55 +++++++ .../org/openapitools/client/model/Tag.java | 29 ++++ .../org/openapitools/client/model/User.java | 59 ++++++++ .../org/openapitools/client/api/FakeApi.java | 53 ++++++- .../org/openapitools/client/api/PetApi.java | 16 ++- .../org/openapitools/client/api/UserApi.java | 9 +- .../model/AdditionalPropertiesClass.java | 33 +++++ .../client/model/AllOfWithSingleRef.java | 29 ++++ .../org/openapitools/client/model/Animal.java | 29 ++++ .../model/ArrayOfArrayOfNumberOnly.java | 28 ++++ .../client/model/ArrayOfNumberOnly.java | 28 ++++ .../openapitools/client/model/ArrayTest.java | 42 ++++++ .../client/model/Capitalization.java | 49 +++++++ .../org/openapitools/client/model/Cat.java | 34 +++++ .../openapitools/client/model/CatAllOf.java | 24 ++++ .../openapitools/client/model/Category.java | 29 ++++ .../openapitools/client/model/ClassModel.java | 24 ++++ .../org/openapitools/client/model/Client.java | 24 ++++ .../client/model/DeprecatedObject.java | 24 ++++ .../org/openapitools/client/model/Dog.java | 34 +++++ .../openapitools/client/model/DogAllOf.java | 24 ++++ .../openapitools/client/model/EnumArrays.java | 31 ++++ .../openapitools/client/model/EnumClass.java | 18 +++ .../openapitools/client/model/EnumTest.java | 59 ++++++++ .../client/model/FileSchemaTestClass.java | 33 +++++ .../org/openapitools/client/model/Foo.java | 24 ++++ .../client/model/FooGetDefaultResponse.java | 24 ++++ .../openapitools/client/model/FormatTest.java | 99 +++++++++++++ .../client/model/HasOnlyReadOnly.java | 29 ++++ .../client/model/HealthCheckResult.java | 24 ++++ .../openapitools/client/model/MapTest.java | 47 ++++++ ...ropertiesAndAdditionalPropertiesClass.java | 38 +++++ .../client/model/Model200Response.java | 29 ++++ .../client/model/ModelApiResponse.java | 34 +++++ .../openapitools/client/model/ModelFile.java | 24 ++++ .../openapitools/client/model/ModelList.java | 24 ++++ .../client/model/ModelReturn.java | 24 ++++ .../org/openapitools/client/model/Name.java | 39 +++++ .../client/model/NullableClass.java | 91 ++++++++++++ .../openapitools/client/model/NumberOnly.java | 24 ++++ .../model/ObjectWithDeprecatedFields.java | 41 ++++++ .../org/openapitools/client/model/Order.java | 49 +++++++ .../client/model/OuterComposite.java | 34 +++++ .../openapitools/client/model/OuterEnum.java | 18 +++ .../client/model/OuterEnumDefaultValue.java | 18 +++ .../client/model/OuterEnumInteger.java | 18 +++ .../model/OuterEnumIntegerDefaultValue.java | 18 +++ .../model/OuterObjectWithEnumProperty.java | 24 ++++ .../org/openapitools/client/model/Pet.java | 57 ++++++++ .../client/model/ReadOnlyFirst.java | 29 ++++ .../client/model/SingleRefType.java | 18 +++ .../client/model/SpecialModelName.java | 24 ++++ .../org/openapitools/client/model/Tag.java | 29 ++++ .../org/openapitools/client/model/User.java | 59 ++++++++ 131 files changed, 4587 insertions(+), 36 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache index 372ea771440e..7059df6b6462 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/api.mustache @@ -338,21 +338,24 @@ public class {{classname}} { {{#hasQueryParams}} {{javaUtilPrefix}}List localVarQueryParams = new {{javaUtilPrefix}}ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; {{#queryParams}} + localVarQueryParameterBaseName = "{{{baseName}}}"; {{#collectionFormat}} localVarQueryParams.addAll(ApiClient.parameterToPairs("{{{collectionFormat}}}", "{{baseName}}", {{paramName}})); {{/collectionFormat}} {{^collectionFormat}} {{#isDeepObject}} if ({{paramName}} != null) { - {{#items.vars}} - {{#isArray}} - localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "{{paramName}}[{{name}}]", {{paramName}}.{{getter}}())); - {{/isArray}} - {{^isArray}} - localVarQueryParams.addAll(ApiClient.parameterToPairs("{{paramName}}[{{name}}]", {{paramName}}.{{getter}}())); - {{/isArray}} - {{/items.vars}} + {{#isArray}} + for (int i=0; i < {{paramName}}.size(); i++) { + localVarQueryDeepObjectStringJoiner.add({{paramName}}.get(i).toUrlQueryString(String.format("{{baseName}}[%d]", i))); + } + {{/isArray}} + {{^isArray}} + localVarQueryDeepObjectStringJoiner.add({{paramName}}.toUrlQueryString("{{baseName}}")); + {{/isArray}} } {{/isDeepObject}} {{^isDeepObject}} @@ -378,9 +381,12 @@ public class {{classname}} { {{/collectionFormat}} {{/queryParams}} - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { {{javaUtilPrefix}}StringJoiner queryJoiner = new {{javaUtilPrefix}}StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/model.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/model.mustache index eb10614549fd..634850965bb0 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/model.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/model.mustache @@ -16,10 +16,13 @@ import com.fasterxml.jackson.annotation.JsonAnySetter; {{/additionalPropertiesType}} {{/model}} {{/models}} +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; {{#imports}} import {{import}}; {{/imports}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache new file mode 100644 index 000000000000..91af79e12e82 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache @@ -0,0 +1,115 @@ +{{#jackson}} +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +{{/jackson}} +{{#gson}} +import java.io.IOException; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +{{/gson}} + +/** + * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} + */ +{{#gson}} +@JsonAdapter({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.Adapter.class) +{{/gson}} +{{#jsonb}} +@JsonbTypeSerializer({{datatypeWithEnum}}.Serializer.class) +@JsonbTypeDeserializer({{datatypeWithEnum}}.Deserializer.class) +{{/jsonb}} +{{>additionalEnumTypeAnnotations}}public enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} { + {{#allowableValues}}{{#enumVars}} + {{#enumDescription}} + /** + * {{.}} + */ + {{/enumDescription}} + {{#withXml}} + @XmlEnumValue({{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}{{{value}}}{{#isInteger}}"{{/isInteger}}{{#isDouble}}"{{/isDouble}}{{#isLong}}"{{/isLong}}{{#isFloat}}"{{/isFloat}}) + {{/withXml}} + {{{name}}}({{{value}}}){{^-last}}, + {{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}} + + private {{{dataType}}} value; + + {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) { + this.value = value; + } + +{{#jackson}} + @JsonValue +{{/jackson}} + public {{{dataType}}} getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + +{{#jackson}} + @JsonCreator +{{/jackson}} + public static {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} fromValue({{{dataType}}} value) { + for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { + if (b.value.equals(value)) { + return b; + } + } + {{#isNullable}}return null;{{/isNullable}}{{^isNullable}}{{#enumUnknownDefaultCase}}{{#allowableValues}}{{#enumVars}}{{#-last}}return {{{name}}};{{/-last}}{{/enumVars}}{{/allowableValues}}{{/enumUnknownDefaultCase}}{{^enumUnknownDefaultCase}}throw new IllegalArgumentException("Unexpected value '" + value + "'");{{/enumUnknownDefaultCase}}{{/isNullable}} + } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + +{{#gson}} + + public static class Adapter extends TypeAdapter<{{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}> { + @Override + public void write(final JsonWriter jsonWriter, final {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} read(final JsonReader jsonReader) throws IOException { + {{^isNumber}}{{{dataType}}}{{/isNumber}}{{#isNumber}}String{{/isNumber}} value = jsonReader.{{#isNumber}}nextString(){{/isNumber}}{{#isInteger}}nextInt(){{/isInteger}}{{^isNumber}}{{^isInteger}}next{{{dataType}}}(){{/isInteger}}{{/isNumber}}; + return {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.fromValue({{#isNumber}}new BigDecimal({{/isNumber}}value{{#isNumber}}){{/isNumber}}); + } + } +{{/gson}} +{{#jsonb}} + public static final class Deserializer implements JsonbDeserializer<{{datatypeWithEnum}}> { + @Override + public {{datatypeWithEnum}} deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) { + for ({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} b : {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.values()) { + if (String.valueOf(b.value).equals(parser.getString())) { + return b; + } + } + {{#useNullForUnknownEnumValue}}return null;{{/useNullForUnknownEnumValue}}{{^useNullForUnknownEnumValue}}throw new IllegalArgumentException("Unexpected value '" + parser.getString() + "'");{{/useNullForUnknownEnumValue}} + } + } + + public static final class Serializer implements JsonbSerializer<{{datatypeWithEnum}}> { + @Override + public void serialize({{datatypeWithEnum}} obj, JsonGenerator generator, SerializationContext ctx) { + generator.write(obj.value); + } + } +{{/jsonb}} +} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache index 79b20ab3c8fa..9af7a44e9b1e 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/pojo.mustache @@ -349,6 +349,131 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + {{#allVars}} + // add `{{baseName}}` to the URL query string + {{#isArray}} + {{#items.isPrimitiveType}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{items.dataType}} _item : {{getter}}()) { + joiner.add(String.format("%s[{{baseName}}][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + i++; + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + joiner.add(String.format("%s[{{baseName}}][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf({{getter}}().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + {{/uniqueItems}} + {{/items.isPrimitiveType}} + {{^items.isPrimitiveType}} + {{#items.isModel}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{items.dataType}} _item : {{getter}}()) { + if ({{getter}}().get(i) != null) { + joiner.add(_item.toUrlQueryString(String.format("%s[{{baseName}}][%d]", prefix, i))); + } + } + i++; + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + if ({{getter}}().get(i) != null) { + joiner.add({{getter}}().get(i).toUrlQueryString(String.format("%s[{{baseName}}][%d]", prefix, i))); + } + } + } + {{/uniqueItems}} + {{/items.isModel}} + {{^items.isModel}} + {{#uniqueItems}} + if ({{getter}}() != null) { + int i = 0; + for ({{items.dataType}} _item : {{getter}}()) { + if (_item != null) { + joiner.add(String.format("%s[{{baseName}}][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + i++; + } + } + {{/uniqueItems}} + {{^uniqueItems}} + if ({{getter}}() != null) { + for (int i = 0; i < {{getter}}().size(); i++) { + if ({{getter}}().get(i) != null) { + joiner.add(String.format("%s[{{baseName}}][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf({{getter}}().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + {{/uniqueItems}} + {{/items.isModel}} + {{/items.isPrimitiveType}} + {{/isArray}} + {{^isArray}} + {{#isMap}} + {{#items.isPrimitiveType}} + if ({{getter}}() != null) { + for (String _key : {{getter}}().keySet()) { + joiner.add(String.format("%s[{{baseName}}][%s]=%s", prefix, {{getter}}().get(_key), URLEncoder.encode(String.valueOf({{getter}}().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + {{/items.isPrimitiveType}} + {{^items.isPrimitiveType}} + if ({{getter}}() != null) { + for (String _key : {{getter}}().keySet()) { + if ({{getter}}().get(_key) != null) { + joiner.add({{getter}}().get(_key).toUrlQueryString(String.format("%s[{{baseName}}][%s]", prefix, _key))); + } + } + } + {{/items.isPrimitiveType}} + {{/isMap}} + {{^isMap}} + {{#isPrimitiveType}} + if ({{getter}}() != null) { + joiner.add(String.format("%s[{{{baseName}}}]=%s", prefix, URLEncoder.encode(String.valueOf({{{getter}}}()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + {{/isPrimitiveType}} + {{^isPrimitiveType}} + {{#isModel}} + if ({{getter}}() != null) { + joiner.add({{getter}}().toUrlQueryString(prefix + "[{{{baseName}}}]")); + } + {{/isModel}} + {{^isModel}} + if ({{getter}}() != null) { + joiner.add(String.format("%s[{{{baseName}}}]=%s", prefix, URLEncoder.encode(String.valueOf({{{getter}}}()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + {{/isModel}} + {{/isPrimitiveType}} + {{/isMap}} + {{/isArray}} + + {{/allVars}} + return joiner.toString(); + } {{#parcelableModel}} public void writeToParcel(Parcel out, int flags) { diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java index 430bd231ec38..2c6197e8dcc4 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientDeepObjectTest.java @@ -58,9 +58,7 @@ public void deepObject() throws IOException { generator.opts(input).generate(); assertFileContains(Paths.get(outputPath + "/src/main/java/org/openapitools/client/api/DefaultApi.java"), - "options[id]", "options[name]", "options[status]", - "\"csv\", \"options[tags]\"", - "\"csv\", \"options[photoUrls]\"", - "inputOptions[a]", "inputOptions[b]", "\"csv\", \"inputOptions[c]\""); + "options.toUrlQueryString(\"options\")", + "inputOptions.toUrlQueryString(\"inputOptions\"))"); } } diff --git a/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml b/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml index e04cd0b3575b..766150b2a7ff 100644 --- a/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/echo_api.yaml @@ -137,6 +137,27 @@ paths: text/plain: schema: type: string + /query/style_deepObject/explode_true/object: + get: + tags: + - query + summary: Test query parameter(s) + description: Test query parameter(s) + operationId: test/query/style_deepObject/explode_true/object + parameters: + - in: query + name: query_object + style: deepObject + explode: true #default + schema: + $ref: '#/components/schemas/Pet' + responses: + '200': + description: Successful operation + content: + text/plain: + schema: + type: string /echo/body/Pet: post: tags: diff --git a/samples/client/echo_api/java/apache-httpclient/README.md b/samples/client/echo_api/java/apache-httpclient/README.md index 3f6adfee9d30..17c2874096e0 100644 --- a/samples/client/echo_api/java/apache-httpclient/README.md +++ b/samples/client/echo_api/java/apache-httpclient/README.md @@ -109,6 +109,7 @@ Class | Method | HTTP request | Description *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testEchoBodyPet) | **POST** /echo/body/Pet | Test body parameter(s) *PathApi* | [**testsPathStringPathStringIntegerPathInteger**](docs/PathApi.md#testsPathStringPathStringIntegerPathInteger) | **GET** /path/string/{path_string}/integer/{path_integer} | Test path parameter(s) *QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) +*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) *QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) *QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) diff --git a/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml b/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml index 4dd00e163181..1fc89acdcfce 100644 --- a/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml +++ b/samples/client/echo_api/java/apache-httpclient/api/openapi.yaml @@ -124,6 +124,29 @@ paths: tags: - query x-accepts: text/plain + /query/style_deepObject/explode_true/object: + get: + description: Test query parameter(s) + operationId: test/query/style_deepObject/explode_true/object + parameters: + - explode: true + in: query + name: query_object + required: false + schema: + $ref: '#/components/schemas/Pet' + style: deepObject + responses: + "200": + content: + text/plain: + schema: + type: string + description: Successful operation + summary: Test query parameter(s) + tags: + - query + x-accepts: text/plain /echo/body/Pet: post: description: Test body parameter(s) diff --git a/samples/client/echo_api/java/apache-httpclient/docs/QueryApi.md b/samples/client/echo_api/java/apache-httpclient/docs/QueryApi.md index 45183a18b44b..82129337b8b8 100644 --- a/samples/client/echo_api/java/apache-httpclient/docs/QueryApi.md +++ b/samples/client/echo_api/java/apache-httpclient/docs/QueryApi.md @@ -5,6 +5,7 @@ All URIs are relative to *http://localhost:3000* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) | +| [**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) | | [**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) | | [**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) | @@ -80,6 +81,72 @@ No authorization required | **200** | Successful operation | - | +## testQueryStyleDeepObjectExplodeTrueObject + +> String testQueryStyleDeepObjectExplodeTrueObject(queryObject) + +Test query parameter(s) + +Test query parameter(s) + +### Example + +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.models.*; +import org.openapitools.client.api.QueryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost:3000"); + + QueryApi apiInstance = new QueryApi(defaultClient); + Pet queryObject = new HashMap(); // Pet | + try { + String result = apiInstance.testQueryStyleDeepObjectExplodeTrueObject(queryObject); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling QueryApi#testQueryStyleDeepObjectExplodeTrueObject"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **queryObject** | [**Pet**](.md)| | [optional] | + +### Return type + +**String** + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/plain + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | + + ## testQueryStyleFormExplodeTrueArrayString > String testQueryStyleFormExplodeTrueArrayString(queryObject) diff --git a/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/api/QueryApi.java b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/api/QueryApi.java index 0fc6966af17c..1f35e5de1b6b 100644 --- a/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/api/QueryApi.java +++ b/samples/client/echo_api/java/apache-httpclient/src/main/java/org/openapitools/client/api/QueryApi.java @@ -77,6 +77,58 @@ public String testQueryIntegerBooleanString(Integer integerQuery, Boolean boolea + final String[] localVarAccepts = { + "text/plain" + }; + final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + + final String[] localVarContentTypes = { + + }; + final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { }; + + TypeReference localVarReturnType = new TypeReference() {}; + return apiClient.invokeAPI( + localVarPath, + "GET", + localVarQueryParams, + localVarCollectionQueryParams, + localVarPostBody, + localVarHeaderParams, + localVarCookieParams, + localVarFormParams, + localVarAccept, + localVarContentType, + localVarAuthNames, + localVarReturnType + ); + } + /** + * Test query parameter(s) + * Test query parameter(s) + * @param queryObject (optional) + * @return String + * @throws ApiException if fails to make API call + */ + public String testQueryStyleDeepObjectExplodeTrueObject(Pet queryObject) throws ApiException { + Object localVarPostBody = null; + + // create path and map variables + String localVarPath = "/query/style_deepObject/explode_true/object"; + + // query params + List localVarQueryParams = new ArrayList(); + List localVarCollectionQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + Map localVarCookieParams = new HashMap(); + Map localVarFormParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPair("query_object", queryObject)); + + + final String[] localVarAccepts = { "text/plain" }; diff --git a/samples/client/echo_api/java/feign-gson/api/openapi.yaml b/samples/client/echo_api/java/feign-gson/api/openapi.yaml index 4dd00e163181..1fc89acdcfce 100644 --- a/samples/client/echo_api/java/feign-gson/api/openapi.yaml +++ b/samples/client/echo_api/java/feign-gson/api/openapi.yaml @@ -124,6 +124,29 @@ paths: tags: - query x-accepts: text/plain + /query/style_deepObject/explode_true/object: + get: + description: Test query parameter(s) + operationId: test/query/style_deepObject/explode_true/object + parameters: + - explode: true + in: query + name: query_object + required: false + schema: + $ref: '#/components/schemas/Pet' + style: deepObject + responses: + "200": + content: + text/plain: + schema: + type: string + description: Successful operation + summary: Test query parameter(s) + tags: + - query + x-accepts: text/plain /echo/body/Pet: post: description: Test body parameter(s) diff --git a/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/api/QueryApi.java b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/api/QueryApi.java index 339afd79b418..33e963ac2c87 100644 --- a/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/api/QueryApi.java +++ b/samples/client/echo_api/java/feign-gson/src/main/java/org/openapitools/client/api/QueryApi.java @@ -110,6 +110,83 @@ public TestQueryIntegerBooleanStringQueryParams stringQuery(final String value) } } + /** + * Test query parameter(s) + * Test query parameter(s) + * @param queryObject (optional) + * @return String + */ + @RequestLine("GET /query/style_deepObject/explode_true/object?query_object={queryObject}") + @Headers({ + "Accept: text/plain", + }) + String testQueryStyleDeepObjectExplodeTrueObject(@Param("queryObject") Pet queryObject); + + /** + * Test query parameter(s) + * Similar to testQueryStyleDeepObjectExplodeTrueObject but it also returns the http response headers . + * Test query parameter(s) + * @param queryObject (optional) + * @return A ApiResponse that wraps the response boyd and the http headers. + */ + @RequestLine("GET /query/style_deepObject/explode_true/object?query_object={queryObject}") + @Headers({ + "Accept: text/plain", + }) + ApiResponse testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(@Param("queryObject") Pet queryObject); + + + /** + * Test query parameter(s) + * Test query parameter(s) + * Note, this is equivalent to the other testQueryStyleDeepObjectExplodeTrueObject 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 TestQueryStyleDeepObjectExplodeTrueObjectQueryParams} class that allows for + * building up this map in a fluent style. + * @param queryParams Map of query parameters as name-value pairs + *

The following elements may be specified in the query map:

+ *
    + *
  • queryObject - (optional)
  • + *
+ * @return String + */ + @RequestLine("GET /query/style_deepObject/explode_true/object?query_object={queryObject}") + @Headers({ + "Accept: text/plain", + }) + String testQueryStyleDeepObjectExplodeTrueObject(@QueryMap(encoded=true) TestQueryStyleDeepObjectExplodeTrueObjectQueryParams queryParams); + + /** + * Test query parameter(s) + * Test query parameter(s) + * Note, this is equivalent to the other testQueryStyleDeepObjectExplodeTrueObject that receives the query parameters as a map, + * but this one also exposes the Http response headers + * @param queryParams Map of query parameters as name-value pairs + *

The following elements may be specified in the query map:

+ *
    + *
  • queryObject - (optional)
  • + *
+ * @return String + */ + @RequestLine("GET /query/style_deepObject/explode_true/object?query_object={queryObject}") + @Headers({ + "Accept: text/plain", + }) + ApiResponse testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(@QueryMap(encoded=true) TestQueryStyleDeepObjectExplodeTrueObjectQueryParams queryParams); + + + /** + * A convenience class for generating query parameters for the + * testQueryStyleDeepObjectExplodeTrueObject method in a fluent style. + */ + public static class TestQueryStyleDeepObjectExplodeTrueObjectQueryParams extends HashMap { + public TestQueryStyleDeepObjectExplodeTrueObjectQueryParams queryObject(final Pet value) { + put("query_object", EncodingUtils.encode(value)); + return this; + } + } + /** * Test query parameter(s) * Test query parameter(s) diff --git a/samples/client/echo_api/java/native/README.md b/samples/client/echo_api/java/native/README.md index 9a3154493822..183273df4401 100644 --- a/samples/client/echo_api/java/native/README.md +++ b/samples/client/echo_api/java/native/README.md @@ -111,6 +111,8 @@ Class | Method | HTTP request | Description *PathApi* | [**testsPathStringPathStringIntegerPathIntegerWithHttpInfo**](docs/PathApi.md#testsPathStringPathStringIntegerPathIntegerWithHttpInfo) | **GET** /path/string/{path_string}/integer/{path_integer} | Test path parameter(s) *QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) *QueryApi* | [**testQueryIntegerBooleanStringWithHttpInfo**](docs/QueryApi.md#testQueryIntegerBooleanStringWithHttpInfo) | **GET** /query/integer/boolean/string | Test query parameter(s) +*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) +*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo**](docs/QueryApi.md#testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) *QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) *QueryApi* | [**testQueryStyleFormExplodeTrueArrayStringWithHttpInfo**](docs/QueryApi.md#testQueryStyleFormExplodeTrueArrayStringWithHttpInfo) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) *QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) diff --git a/samples/client/echo_api/java/native/api/openapi.yaml b/samples/client/echo_api/java/native/api/openapi.yaml index 4dd00e163181..1fc89acdcfce 100644 --- a/samples/client/echo_api/java/native/api/openapi.yaml +++ b/samples/client/echo_api/java/native/api/openapi.yaml @@ -124,6 +124,29 @@ paths: tags: - query x-accepts: text/plain + /query/style_deepObject/explode_true/object: + get: + description: Test query parameter(s) + operationId: test/query/style_deepObject/explode_true/object + parameters: + - explode: true + in: query + name: query_object + required: false + schema: + $ref: '#/components/schemas/Pet' + style: deepObject + responses: + "200": + content: + text/plain: + schema: + type: string + description: Successful operation + summary: Test query parameter(s) + tags: + - query + x-accepts: text/plain /echo/body/Pet: post: description: Test body parameter(s) diff --git a/samples/client/echo_api/java/native/docs/QueryApi.md b/samples/client/echo_api/java/native/docs/QueryApi.md index f5bf265a043f..d6f45c2f6ec3 100644 --- a/samples/client/echo_api/java/native/docs/QueryApi.md +++ b/samples/client/echo_api/java/native/docs/QueryApi.md @@ -6,6 +6,8 @@ All URIs are relative to *http://localhost:3000* |------------- | ------------- | -------------| | [**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) | | [**testQueryIntegerBooleanStringWithHttpInfo**](QueryApi.md#testQueryIntegerBooleanStringWithHttpInfo) | **GET** /query/integer/boolean/string | Test query parameter(s) | +| [**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) | +| [**testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) | | [**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) | | [**testQueryStyleFormExplodeTrueArrayStringWithHttpInfo**](QueryApi.md#testQueryStyleFormExplodeTrueArrayStringWithHttpInfo) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) | | [**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) | @@ -155,6 +157,140 @@ No authorization required | **200** | Successful operation | - | +## testQueryStyleDeepObjectExplodeTrueObject + +> String testQueryStyleDeepObjectExplodeTrueObject(queryObject) + +Test query parameter(s) + +Test query parameter(s) + +### Example + +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.Configuration; +import org.openapitools.client.models.*; +import org.openapitools.client.api.QueryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost:3000"); + + QueryApi apiInstance = new QueryApi(defaultClient); + Pet queryObject = new HashMap(); // Pet | + try { + String result = apiInstance.testQueryStyleDeepObjectExplodeTrueObject(queryObject); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling QueryApi#testQueryStyleDeepObjectExplodeTrueObject"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **queryObject** | [**Pet**](.md)| | [optional] | + +### Return type + +**String** + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/plain + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | + +## testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo + +> ApiResponse testQueryStyleDeepObjectExplodeTrueObject testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(queryObject) + +Test query parameter(s) + +Test query parameter(s) + +### Example + +```java +// Import classes: +import org.openapitools.client.ApiClient; +import org.openapitools.client.ApiException; +import org.openapitools.client.ApiResponse; +import org.openapitools.client.Configuration; +import org.openapitools.client.models.*; +import org.openapitools.client.api.QueryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost:3000"); + + QueryApi apiInstance = new QueryApi(defaultClient); + Pet queryObject = new HashMap(); // Pet | + try { + ApiResponse response = apiInstance.testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(queryObject); + System.out.println("Status code: " + response.getStatusCode()); + System.out.println("Response headers: " + response.getHeaders()); + System.out.println("Response body: " + response.getData()); + } catch (ApiException e) { + System.err.println("Exception when calling QueryApi#testQueryStyleDeepObjectExplodeTrueObject"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Response headers: " + e.getResponseHeaders()); + System.err.println("Reason: " + e.getResponseBody()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **queryObject** | [**Pet**](.md)| | [optional] | + +### Return type + +ApiResponse<**String**> + + +### Authorization + +No authorization required + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/plain + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful operation | - | + + ## testQueryStyleFormExplodeTrueArrayString > String testQueryStyleFormExplodeTrueArrayString(queryObject) diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/api/QueryApi.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/api/QueryApi.java index 504a75e68da7..7059dc1bc15b 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/api/QueryApi.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/api/QueryApi.java @@ -142,13 +142,113 @@ private HttpRequest.Builder testQueryIntegerBooleanStringRequestBuilder(Integer String localVarPath = "/query/integer/boolean/string"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "integer_query"; localVarQueryParams.addAll(ApiClient.parameterToPairs("integer_query", integerQuery)); + localVarQueryParameterBaseName = "boolean_query"; localVarQueryParams.addAll(ApiClient.parameterToPairs("boolean_query", booleanQuery)); + localVarQueryParameterBaseName = "string_query"; localVarQueryParams.addAll(ApiClient.parameterToPairs("string_query", stringQuery)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); + } else { + localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); + } + + localVarRequestBuilder.header("Accept", "text/plain"); + + localVarRequestBuilder.method("GET", HttpRequest.BodyPublishers.noBody()); + if (memberVarReadTimeout != null) { + localVarRequestBuilder.timeout(memberVarReadTimeout); + } + if (memberVarInterceptor != null) { + memberVarInterceptor.accept(localVarRequestBuilder); + } + return localVarRequestBuilder; + } + /** + * Test query parameter(s) + * Test query parameter(s) + * @param queryObject (optional) + * @return String + * @throws ApiException if fails to make API call + */ + public String testQueryStyleDeepObjectExplodeTrueObject(Pet queryObject) throws ApiException { + ApiResponse localVarResponse = testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(queryObject); + return localVarResponse.getData(); + } + + /** + * Test query parameter(s) + * Test query parameter(s) + * @param queryObject (optional) + * @return ApiResponse<String> + * @throws ApiException if fails to make API call + */ + public ApiResponse testQueryStyleDeepObjectExplodeTrueObjectWithHttpInfo(Pet queryObject) throws ApiException { + HttpRequest.Builder localVarRequestBuilder = testQueryStyleDeepObjectExplodeTrueObjectRequestBuilder(queryObject); + try { + HttpResponse localVarResponse = memberVarHttpClient.send( + localVarRequestBuilder.build(), + HttpResponse.BodyHandlers.ofInputStream()); + if (memberVarResponseInterceptor != null) { + memberVarResponseInterceptor.accept(localVarResponse); + } + try { + if (localVarResponse.statusCode()/ 100 != 2) { + throw getApiException("testQueryStyleDeepObjectExplodeTrueObject", localVarResponse); + } + // for plain text response + if (localVarResponse.headers().map().containsKey("Content-Type") && + "text/plain".equalsIgnoreCase(localVarResponse.headers().map().get("Content-Type").get(0))) { + java.util.Scanner s = new java.util.Scanner(localVarResponse.body()).useDelimiter("\\A"); + String responseBodyText = s.hasNext() ? s.next() : ""; + return new ApiResponse( + localVarResponse.statusCode(), + localVarResponse.headers().map(), + responseBodyText + ); + } else { + throw new RuntimeException("Error! The response Content-Type is supposed to be `text/plain` but it's not: " + localVarResponse); + } + } finally { + } + } catch (IOException e) { + throw new ApiException(e); + } + catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new ApiException(e); + } + } + + private HttpRequest.Builder testQueryStyleDeepObjectExplodeTrueObjectRequestBuilder(Pet queryObject) throws ApiException { + + HttpRequest.Builder localVarRequestBuilder = HttpRequest.newBuilder(); + + String localVarPath = "/query/style_deepObject/explode_true/object"; + + List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query_object"; + if (queryObject != null) { + localVarQueryDeepObjectStringJoiner.add(queryObject.toUrlQueryString("query_object")); + } + + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { + StringJoiner queryJoiner = new StringJoiner("&"); + localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -228,11 +328,17 @@ private HttpRequest.Builder testQueryStyleFormExplodeTrueArrayStringRequestBuild String localVarPath = "/query/style_form/explode_true/array_string"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query_object"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "values", queryObject.getValues())); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -312,6 +418,9 @@ private HttpRequest.Builder testQueryStyleFormExplodeTrueObjectRequestBuilder(Pe String localVarPath = "/query/style_form/explode_true/object"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query_object"; localVarQueryParams.addAll(ApiClient.parameterToPairs("id", queryObject.getId())); localVarQueryParams.addAll(ApiClient.parameterToPairs("name", queryObject.getName())); localVarQueryParams.addAll(ApiClient.parameterToPairs("category", queryObject.getCategory())); @@ -319,9 +428,12 @@ private HttpRequest.Builder testQueryStyleFormExplodeTrueObjectRequestBuilder(Pe localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "tags", queryObject.getTags())); localVarQueryParams.addAll(ApiClient.parameterToPairs("status", queryObject.getStatus())); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Category.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Category.java index 32792300772f..2fad2a1c1a57 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Category.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Category.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Pet.java index 7972839201bb..2b290884e3de 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Pet.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Pet.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -313,5 +316,57 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `category` to the URL query string + if (getCategory() != null) { + joiner.add(getCategory().toUrlQueryString(prefix + "[category]")); + } + + // add `photoUrls` to the URL query string + if (getPhotoUrls() != null) { + for (int i = 0; i < getPhotoUrls().size(); i++) { + joiner.add(String.format("%s[photoUrls][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getPhotoUrls().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `tags` to the URL query string + if (getTags() != null) { + for (int i = 0; i < getTags().size(); i++) { + if (getTags().get(i) != null) { + joiner.add(getTags().get(i).toUrlQueryString(String.format("%s[tags][%d]", prefix, i))); + } + } + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Tag.java index b6d424014bb0..83db4ff69ccc 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Tag.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/Tag.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java index 954d0dbe3b82..82bc3671c26a 100644 --- a/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java +++ b/samples/client/echo_api/java/native/src/main/java/org/openapitools/client/model/TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -114,5 +117,28 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `values` to the URL query string + if (getValues() != null) { + for (int i = 0; i < getValues().size(); i++) { + joiner.add(String.format("%s[values][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getValues().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java index fb3e2cd48619..e6f439099cbe 100644 --- a/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java +++ b/samples/client/echo_api/java/native/src/test/java/org/openapitools/client/CustomTest.java @@ -71,6 +71,25 @@ public void testQueryStyleFormExplodeTrueObjectTest() throws ApiException { Assert.assertEquals("/query/style_form/explode_true/object?id=12345&name=Hello%20World&category=class%20Category%20%7B%0A%20%20%20%20id%3A%20987%0A%20%20%20%20name%3A%20new%20category%0A%7D&photoUrls=http%3A%2F%2Fa.com&photoUrls=http%3A%2F%2Fb.com", p.path); } + /** + * Test query parameter(s) + *

+ * Test query parameter(s) + * + * @throws ApiException if the Api call fails + */ + @Test + public void testQueryStyleDeepObjectExplodeTrueObject() throws ApiException { + Pet queryObject = new Pet().id(12345L).name("Hello World"). + photoUrls(Arrays.asList(new String[]{"http://a.com", "http://b.com"})).category(new Category().id(987L).name("new category")); + + Assert.assertEquals("query_object[id]=12345&query_object[name]=Hello%20World&query_object[category][id]=987&query_object[category][name]=new%20category&query_object[photoUrls][0]=http%3A%2F%2Fa.com&query_object[photoUrls][1]=http%3A%2F%2Fb.com", queryObject.toUrlQueryString("query_object")); + + String response = api.testQueryStyleDeepObjectExplodeTrueObject(queryObject); + org.openapitools.client.EchoServerResponseParser p = new org.openapitools.client.EchoServerResponseParser(response); + Assert.assertEquals("/query/style_deepObject/explode_true/object?query_object[id]=12345&query_object[name]=Hello%20World&query_object[category][id]=987&query_object[category][name]=new%20category&query_object[photoUrls][0]=http%3A%2F%2Fa.com&query_object[photoUrls][1]=http%3A%2F%2Fb.com", p.path); + } + /** * Test query parameter(s) *

@@ -87,5 +106,4 @@ public void testQueryStyleFormExplodeTrueArrayString() throws ApiException { org.openapitools.client.EchoServerResponseParser p = new org.openapitools.client.EchoServerResponseParser(response); Assert.assertEquals("/query/style_form/explode_true/array_string?values=hello%20world%201&values=hello%20world%202", p.path); } - } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/FakeApi.java index cc5c0a7d5296..f03332c0f7ed 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/FakeApi.java @@ -241,11 +241,17 @@ private HttpRequest.Builder fakeHttpSignatureTestRequestBuilder(Pet pet, String String localVarPath = "/fake/http-signature-test"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query_1"; localVarQueryParams.addAll(ApiClient.parameterToPairs("query_1", query1)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -977,11 +983,17 @@ private HttpRequest.Builder testBodyWithQueryParamsRequestBuilder(String query, String localVarPath = "/fake/body-with-query-params"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query"; localVarQueryParams.addAll(ApiClient.parameterToPairs("query", query)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1294,15 +1306,25 @@ private HttpRequest.Builder testEnumParametersRequestBuilder(List enumHe String localVarPath = "/fake"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "enum_query_string_array"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "enum_query_string_array", enumQueryStringArray)); + localVarQueryParameterBaseName = "enum_query_string"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_string", enumQueryString)); + localVarQueryParameterBaseName = "enum_query_integer"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_integer", enumQueryInteger)); + localVarQueryParameterBaseName = "enum_query_double"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_double", enumQueryDouble)); + localVarQueryParameterBaseName = "enum_query_model_array"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "enum_query_model_array", enumQueryModelArray)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1442,14 +1464,23 @@ private HttpRequest.Builder testGroupParametersRequestBuilder(Integer requiredSt String localVarPath = "/fake"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "required_string_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("required_string_group", requiredStringGroup)); + localVarQueryParameterBaseName = "required_int64_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("required_int64_group", requiredInt64Group)); + localVarQueryParameterBaseName = "string_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("string_group", stringGroup)); + localVarQueryParameterBaseName = "int64_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("int64_group", int64Group)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1812,17 +1843,29 @@ private HttpRequest.Builder testQueryParameterCollectionFormatRequestBuilder(Lis String localVarPath = "/fake/test-query-parameters"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pipe"; localVarQueryParams.addAll(ApiClient.parameterToPairs("pipes", "pipe", pipe)); + localVarQueryParameterBaseName = "ioutil"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "ioutil", ioutil)); + localVarQueryParameterBaseName = "http"; localVarQueryParams.addAll(ApiClient.parameterToPairs("ssv", "http", http)); + localVarQueryParameterBaseName = "url"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "url", url)); + localVarQueryParameterBaseName = "context"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "context", context)); + localVarQueryParameterBaseName = "language"; localVarQueryParams.addAll(ApiClient.parameterToPairs("language", language)); + localVarQueryParameterBaseName = "allowEmpty"; localVarQueryParams.addAll(ApiClient.parameterToPairs("allowEmpty", allowEmpty)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/PetApi.java index bfabb60f44db..57eac50166c8 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/PetApi.java @@ -324,11 +324,17 @@ private HttpRequest.Builder findPetsByStatusRequestBuilder(List status) String localVarPath = "/pet/findByStatus"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "status"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "status", status)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -429,11 +435,17 @@ private HttpRequest.Builder findPetsByTagsRequestBuilder(Set tags) throw String localVarPath = "/pet/findByTags"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "tags"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "tags", tags)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/UserApi.java index 098fa0d68bac..0ccc38aa64ef 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/api/UserApi.java @@ -582,12 +582,19 @@ private HttpRequest.Builder loginUserRequestBuilder(String username, String pass String localVarPath = "/user/login"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "username"; localVarQueryParams.addAll(ApiClient.parameterToPairs("username", username)); + localVarQueryParameterBaseName = "password"; localVarQueryParams.addAll(ApiClient.parameterToPairs("password", password)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 78e2f1b45df0..7006df183cfb 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -153,5 +156,35 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `map_property` to the URL query string + if (getMapProperty() != null) { + for (String _key : getMapProperty().keySet()) { + joiner.add(String.format("%s[map_property][%s]=%s", prefix, getMapProperty().get(_key), URLEncoder.encode(String.valueOf(getMapProperty().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `map_of_map_property` to the URL query string + if (getMapOfMapProperty() != null) { + for (String _key : getMapOfMapProperty().keySet()) { + joiner.add(String.format("%s[map_of_map_property][%s]=%s", prefix, getMapOfMapProperty().get(_key), URLEncoder.encode(String.valueOf(getMapOfMapProperty().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java index e437c8f065b4..b71cb02f4887 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -136,5 +139,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add(String.format("%s[username]=%s", prefix, URLEncoder.encode(String.valueOf(getUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `SingleRefType` to the URL query string + if (getSingleRefType() != null) { + joiner.add(getSingleRefType().toUrlQueryString(prefix + "[SingleRefType]")); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Animal.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Animal.java index 31f94e6dc75f..3aa750fa35e2 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Animal.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Animal.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -151,6 +154,32 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java index 298a91c8c494..970b58066843 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -115,5 +118,30 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `ArrayArrayNumber` to the URL query string + if (getArrayArrayNumber() != null) { + for (int i = 0; i < getArrayArrayNumber().size(); i++) { + if (getArrayArrayNumber().get(i) != null) { + joiner.add(String.format("%s[ArrayArrayNumber][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayNumber().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java index f4a15c4fdadd..62b7b79a6f30 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -115,5 +118,30 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `ArrayNumber` to the URL query string + if (getArrayNumber() != null) { + for (int i = 0; i < getArrayNumber().size(); i++) { + if (getArrayNumber().get(i) != null) { + joiner.add(String.format("%s[ArrayNumber][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayNumber().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayTest.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayTest.java index 92188d6c830d..dcb8a63918f1 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayTest.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ArrayTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -193,5 +196,44 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `array_of_string` to the URL query string + if (getArrayOfString() != null) { + for (int i = 0; i < getArrayOfString().size(); i++) { + joiner.add(String.format("%s[array_of_string][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayOfString().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_array_of_integer` to the URL query string + if (getArrayArrayOfInteger() != null) { + for (int i = 0; i < getArrayArrayOfInteger().size(); i++) { + joiner.add(String.format("%s[array_array_of_integer][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayOfInteger().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_array_of_model` to the URL query string + if (getArrayArrayOfModel() != null) { + for (int i = 0; i < getArrayArrayOfModel().size(); i++) { + if (getArrayArrayOfModel().get(i) != null) { + joiner.add(String.format("%s[array_array_of_model][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayOfModel().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Capitalization.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Capitalization.java index 9be2bbdd9ead..2574cdce1669 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Capitalization.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Capitalization.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -259,5 +262,51 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `smallCamel` to the URL query string + if (getSmallCamel() != null) { + joiner.add(String.format("%s[smallCamel]=%s", prefix, URLEncoder.encode(String.valueOf(getSmallCamel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `CapitalCamel` to the URL query string + if (getCapitalCamel() != null) { + joiner.add(String.format("%s[CapitalCamel]=%s", prefix, URLEncoder.encode(String.valueOf(getCapitalCamel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `small_Snake` to the URL query string + if (getSmallSnake() != null) { + joiner.add(String.format("%s[small_Snake]=%s", prefix, URLEncoder.encode(String.valueOf(getSmallSnake()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `Capital_Snake` to the URL query string + if (getCapitalSnake() != null) { + joiner.add(String.format("%s[Capital_Snake]=%s", prefix, URLEncoder.encode(String.valueOf(getCapitalSnake()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `SCA_ETH_Flow_Points` to the URL query string + if (getScAETHFlowPoints() != null) { + joiner.add(String.format("%s[SCA_ETH_Flow_Points]=%s", prefix, URLEncoder.encode(String.valueOf(getScAETHFlowPoints()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `ATT_NAME` to the URL query string + if (getATTNAME() != null) { + joiner.add(String.format("%s[ATT_NAME]=%s", prefix, URLEncoder.encode(String.valueOf(getATTNAME()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java index 2a7594427f29..860702eac84b 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Cat.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -117,6 +120,37 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `declawed` to the URL query string + if (getDeclawed() != null) { + joiner.add(String.format("%s[declawed]=%s", prefix, URLEncoder.encode(String.valueOf(getDeclawed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/CatAllOf.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/CatAllOf.java index dac0f9ff92bd..8e1e072f81c0 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/CatAllOf.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/CatAllOf.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `declawed` to the URL query string + if (getDeclawed() != null) { + joiner.add(String.format("%s[declawed]=%s", prefix, URLEncoder.encode(String.valueOf(getDeclawed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Category.java index 756d99ade647..1872a29caf86 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Category.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Category.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ClassModel.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ClassModel.java index 8af840727737..d25f2c5ca5d3 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ClassModel.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ClassModel.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `_class` to the URL query string + if (getPropertyClass() != null) { + joiner.add(String.format("%s[_class]=%s", prefix, URLEncoder.encode(String.valueOf(getPropertyClass()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Client.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Client.java index 90090a1cd338..c585f53bdc79 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Client.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Client.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `client` to the URL query string + if (getClient() != null) { + joiner.add(String.format("%s[client]=%s", prefix, URLEncoder.encode(String.valueOf(getClient()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DeprecatedObject.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DeprecatedObject.java index e3dd7ee0d088..88f1caf2f2e8 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DeprecatedObject.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DeprecatedObject.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -106,5 +109,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java index 2a37db94c555..63da5a9f1886 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Dog.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -117,6 +120,37 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `breed` to the URL query string + if (getBreed() != null) { + joiner.add(String.format("%s[breed]=%s", prefix, URLEncoder.encode(String.valueOf(getBreed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DogAllOf.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DogAllOf.java index 1bfba33c77ca..f9176aebadec 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DogAllOf.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/DogAllOf.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `breed` to the URL query string + if (getBreed() != null) { + joiner.add(String.format("%s[breed]=%s", prefix, URLEncoder.encode(String.valueOf(getBreed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumArrays.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumArrays.java index dd481cdf4d58..66a53989334b 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumArrays.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumArrays.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -215,5 +218,33 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `just_symbol` to the URL query string + if (getJustSymbol() != null) { + joiner.add(String.format("%s[just_symbol]=%s", prefix, URLEncoder.encode(String.valueOf(getJustSymbol()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `array_enum` to the URL query string + if (getArrayEnum() != null) { + for (int i = 0; i < getArrayEnum().size(); i++) { + joiner.add(String.format("%s[array_enum][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayEnum().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumClass.java index 0fdfb1bf6b1b..c74eb42a06b0 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static EnumClass fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumTest.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumTest.java index ce63673e2076..67714bf97651 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumTest.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/EnumTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -492,5 +495,61 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `enum_string` to the URL query string + if (getEnumString() != null) { + joiner.add(String.format("%s[enum_string]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_string_required` to the URL query string + if (getEnumStringRequired() != null) { + joiner.add(String.format("%s[enum_string_required]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumStringRequired()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_integer` to the URL query string + if (getEnumInteger() != null) { + joiner.add(String.format("%s[enum_integer]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_number` to the URL query string + if (getEnumNumber() != null) { + joiner.add(String.format("%s[enum_number]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnum` to the URL query string + if (getOuterEnum() != null) { + joiner.add(String.format("%s[outerEnum]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnum()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumInteger` to the URL query string + if (getOuterEnumInteger() != null) { + joiner.add(String.format("%s[outerEnumInteger]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumDefaultValue` to the URL query string + if (getOuterEnumDefaultValue() != null) { + joiner.add(String.format("%s[outerEnumDefaultValue]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumDefaultValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumIntegerDefaultValue` to the URL query string + if (getOuterEnumIntegerDefaultValue() != null) { + joiner.add(String.format("%s[outerEnumIntegerDefaultValue]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumIntegerDefaultValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java index 232095a95c5f..9605e93a69bd 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -146,5 +149,35 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `file` to the URL query string + if (getFile() != null) { + joiner.add(getFile().toUrlQueryString(prefix + "[file]")); + } + + // add `files` to the URL query string + if (getFiles() != null) { + for (int i = 0; i < getFiles().size(); i++) { + if (getFiles().get(i) != null) { + joiner.add(getFiles().get(i).toUrlQueryString(String.format("%s[files][%d]", prefix, i))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Foo.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Foo.java index 0119bf9920bf..35c06af25b09 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Foo.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Foo.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java index cf180cf90860..c5cdb8d3fdea 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `string` to the URL query string + if (getString() != null) { + joiner.add(getString().toUrlQueryString(prefix + "[string]")); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FormatTest.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FormatTest.java index 656785f0505c..57e9fc32be41 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FormatTest.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/FormatTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -584,5 +587,101 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `integer` to the URL query string + if (getInteger() != null) { + joiner.add(String.format("%s[integer]=%s", prefix, URLEncoder.encode(String.valueOf(getInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `int32` to the URL query string + if (getInt32() != null) { + joiner.add(String.format("%s[int32]=%s", prefix, URLEncoder.encode(String.valueOf(getInt32()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `int64` to the URL query string + if (getInt64() != null) { + joiner.add(String.format("%s[int64]=%s", prefix, URLEncoder.encode(String.valueOf(getInt64()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `number` to the URL query string + if (getNumber() != null) { + joiner.add(String.format("%s[number]=%s", prefix, URLEncoder.encode(String.valueOf(getNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `float` to the URL query string + if (getFloat() != null) { + joiner.add(String.format("%s[float]=%s", prefix, URLEncoder.encode(String.valueOf(getFloat()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `double` to the URL query string + if (getDouble() != null) { + joiner.add(String.format("%s[double]=%s", prefix, URLEncoder.encode(String.valueOf(getDouble()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `decimal` to the URL query string + if (getDecimal() != null) { + joiner.add(String.format("%s[decimal]=%s", prefix, URLEncoder.encode(String.valueOf(getDecimal()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `string` to the URL query string + if (getString() != null) { + joiner.add(String.format("%s[string]=%s", prefix, URLEncoder.encode(String.valueOf(getString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `byte` to the URL query string + if (getByte() != null) { + joiner.add(String.format("%s[byte]=%s", prefix, URLEncoder.encode(String.valueOf(getByte()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `binary` to the URL query string + if (getBinary() != null) { + joiner.add(String.format("%s[binary]=%s", prefix, URLEncoder.encode(String.valueOf(getBinary()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `date` to the URL query string + if (getDate() != null) { + joiner.add(String.format("%s[date]=%s", prefix, URLEncoder.encode(String.valueOf(getDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `dateTime` to the URL query string + if (getDateTime() != null) { + joiner.add(String.format("%s[dateTime]=%s", prefix, URLEncoder.encode(String.valueOf(getDateTime()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add(String.format("%s[password]=%s", prefix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `pattern_with_digits` to the URL query string + if (getPatternWithDigits() != null) { + joiner.add(String.format("%s[pattern_with_digits]=%s", prefix, URLEncoder.encode(String.valueOf(getPatternWithDigits()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `pattern_with_digits_and_delimiter` to the URL query string + if (getPatternWithDigitsAndDelimiter() != null) { + joiner.add(String.format("%s[pattern_with_digits_and_delimiter]=%s", prefix, URLEncoder.encode(String.valueOf(getPatternWithDigitsAndDelimiter()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java index bd4086b1275d..016d5a84dfeb 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -125,5 +128,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `foo` to the URL query string + if (getFoo() != null) { + joiner.add(String.format("%s[foo]=%s", prefix, URLEncoder.encode(String.valueOf(getFoo()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HealthCheckResult.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HealthCheckResult.java index 6e7eddc52f0f..ddc8e843926b 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HealthCheckResult.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/HealthCheckResult.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -127,5 +130,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `NullableMessage` to the URL query string + if (getNullableMessage() != null) { + joiner.add(String.format("%s[NullableMessage]=%s", prefix, URLEncoder.encode(String.valueOf(getNullableMessage()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java index 765fd6957496..5edaec5cd7d4 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MapTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -266,5 +269,49 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `map_map_of_string` to the URL query string + if (getMapMapOfString() != null) { + for (String _key : getMapMapOfString().keySet()) { + joiner.add(String.format("%s[map_map_of_string][%s]=%s", prefix, getMapMapOfString().get(_key), URLEncoder.encode(String.valueOf(getMapMapOfString().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `map_of_enum_string` to the URL query string + if (getMapOfEnumString() != null) { + for (String _key : getMapOfEnumString().keySet()) { + joiner.add(String.format("%s[map_of_enum_string][%s]=%s", prefix, getMapOfEnumString().get(_key), URLEncoder.encode(String.valueOf(getMapOfEnumString().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `direct_map` to the URL query string + if (getDirectMap() != null) { + for (String _key : getDirectMap().keySet()) { + joiner.add(String.format("%s[direct_map][%s]=%s", prefix, getDirectMap().get(_key), URLEncoder.encode(String.valueOf(getDirectMap().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `indirect_map` to the URL query string + if (getIndirectMap() != null) { + for (String _key : getIndirectMap().keySet()) { + joiner.add(String.format("%s[indirect_map][%s]=%s", prefix, getIndirectMap().get(_key), URLEncoder.encode(String.valueOf(getIndirectMap().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 1daca05c1c67..d6c0fbba9d71 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -179,5 +182,40 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `dateTime` to the URL query string + if (getDateTime() != null) { + joiner.add(String.format("%s[dateTime]=%s", prefix, URLEncoder.encode(String.valueOf(getDateTime()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `map` to the URL query string + if (getMap() != null) { + for (String _key : getMap().keySet()) { + if (getMap().get(_key) != null) { + joiner.add(getMap().get(_key).toUrlQueryString(String.format("%s[map][%s]", prefix, _key))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Model200Response.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Model200Response.java index f3384596101f..3bd5189ebf9b 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Model200Response.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Model200Response.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `class` to the URL query string + if (getPropertyClass() != null) { + joiner.add(String.format("%s[class]=%s", prefix, URLEncoder.encode(String.valueOf(getPropertyClass()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelApiResponse.java index 4453f049d475..2ee58c4ff82e 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelApiResponse.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelApiResponse.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -166,5 +169,36 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `code` to the URL query string + if (getCode() != null) { + joiner.add(String.format("%s[code]=%s", prefix, URLEncoder.encode(String.valueOf(getCode()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format("%s[type]=%s", prefix, URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add(String.format("%s[message]=%s", prefix, URLEncoder.encode(String.valueOf(getMessage()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelFile.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelFile.java index 644462a8ae43..5b5069b2f9a8 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelFile.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelFile.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `sourceURI` to the URL query string + if (getSourceURI() != null) { + joiner.add(String.format("%s[sourceURI]=%s", prefix, URLEncoder.encode(String.valueOf(getSourceURI()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelList.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelList.java index 258140f45adb..a347065b3767 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelList.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelList.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `123-list` to the URL query string + if (get123list() != null) { + joiner.add(String.format("%s[123-list]=%s", prefix, URLEncoder.encode(String.valueOf(get123list()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelReturn.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelReturn.java index 1a5599137ffb..7b9127c22094 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelReturn.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ModelReturn.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `return` to the URL query string + if (getReturn() != null) { + joiner.add(String.format("%s[return]=%s", prefix, URLEncoder.encode(String.valueOf(getReturn()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Name.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Name.java index 5cfbd99ac349..261f3f024f93 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Name.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Name.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -187,5 +190,41 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `snake_case` to the URL query string + if (getSnakeCase() != null) { + joiner.add(String.format("%s[snake_case]=%s", prefix, URLEncoder.encode(String.valueOf(getSnakeCase()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `property` to the URL query string + if (getProperty() != null) { + joiner.add(String.format("%s[property]=%s", prefix, URLEncoder.encode(String.valueOf(getProperty()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `123Number` to the URL query string + if (get123number() != null) { + joiner.add(String.format("%s[123Number]=%s", prefix, URLEncoder.encode(String.valueOf(get123number()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NullableClass.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NullableClass.java index 7c13749d5696..96634937a4f0 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NullableClass.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NullableClass.java @@ -17,10 +17,13 @@ import java.util.HashMap; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -662,5 +665,93 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `integer_prop` to the URL query string + if (getIntegerProp() != null) { + joiner.add(String.format("%s[integer_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getIntegerProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `number_prop` to the URL query string + if (getNumberProp() != null) { + joiner.add(String.format("%s[number_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getNumberProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `boolean_prop` to the URL query string + if (getBooleanProp() != null) { + joiner.add(String.format("%s[boolean_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getBooleanProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `string_prop` to the URL query string + if (getStringProp() != null) { + joiner.add(String.format("%s[string_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getStringProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `date_prop` to the URL query string + if (getDateProp() != null) { + joiner.add(String.format("%s[date_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getDateProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `datetime_prop` to the URL query string + if (getDatetimeProp() != null) { + joiner.add(String.format("%s[datetime_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getDatetimeProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `array_nullable_prop` to the URL query string + if (getArrayNullableProp() != null) { + for (int i = 0; i < getArrayNullableProp().size(); i++) { + joiner.add(String.format("%s[array_nullable_prop][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayNullableProp().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_and_items_nullable_prop` to the URL query string + if (getArrayAndItemsNullableProp() != null) { + for (int i = 0; i < getArrayAndItemsNullableProp().size(); i++) { + joiner.add(String.format("%s[array_and_items_nullable_prop][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayAndItemsNullableProp().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_items_nullable` to the URL query string + if (getArrayItemsNullable() != null) { + for (int i = 0; i < getArrayItemsNullable().size(); i++) { + joiner.add(String.format("%s[array_items_nullable][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayItemsNullable().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_nullable_prop` to the URL query string + if (getObjectNullableProp() != null) { + for (String _key : getObjectNullableProp().keySet()) { + joiner.add(String.format("%s[object_nullable_prop][%s]=%s", prefix, getObjectNullableProp().get(_key), URLEncoder.encode(String.valueOf(getObjectNullableProp().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_and_items_nullable_prop` to the URL query string + if (getObjectAndItemsNullableProp() != null) { + for (String _key : getObjectAndItemsNullableProp().keySet()) { + joiner.add(String.format("%s[object_and_items_nullable_prop][%s]=%s", prefix, getObjectAndItemsNullableProp().get(_key), URLEncoder.encode(String.valueOf(getObjectAndItemsNullableProp().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_items_nullable` to the URL query string + if (getObjectItemsNullable() != null) { + for (String _key : getObjectItemsNullable().keySet()) { + joiner.add(String.format("%s[object_items_nullable][%s]=%s", prefix, getObjectItemsNullable().get(_key), URLEncoder.encode(String.valueOf(getObjectItemsNullable().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NumberOnly.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NumberOnly.java index 715a6d10e1a0..2414c372836c 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NumberOnly.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/NumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `JustNumber` to the URL query string + if (getJustNumber() != null) { + joiner.add(String.format("%s[JustNumber]=%s", prefix, URLEncoder.encode(String.valueOf(getJustNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java index 2a200a70f1d5..1969ac6d4da0 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -215,5 +218,43 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `deprecatedRef` to the URL query string + if (getDeprecatedRef() != null) { + joiner.add(getDeprecatedRef().toUrlQueryString(prefix + "[deprecatedRef]")); + } + + // add `bars` to the URL query string + if (getBars() != null) { + for (int i = 0; i < getBars().size(); i++) { + joiner.add(String.format("%s[bars][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getBars().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Order.java index 9a393b4eee2a..aa6a6530cc9d 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Order.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Order.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -297,5 +300,51 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `petId` to the URL query string + if (getPetId() != null) { + joiner.add(String.format("%s[petId]=%s", prefix, URLEncoder.encode(String.valueOf(getPetId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `quantity` to the URL query string + if (getQuantity() != null) { + joiner.add(String.format("%s[quantity]=%s", prefix, URLEncoder.encode(String.valueOf(getQuantity()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `shipDate` to the URL query string + if (getShipDate() != null) { + joiner.add(String.format("%s[shipDate]=%s", prefix, URLEncoder.encode(String.valueOf(getShipDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `complete` to the URL query string + if (getComplete() != null) { + joiner.add(String.format("%s[complete]=%s", prefix, URLEncoder.encode(String.valueOf(getComplete()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterComposite.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterComposite.java index 7b4bc962957f..9614576d84a5 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterComposite.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterComposite.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -167,5 +170,36 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `my_number` to the URL query string + if (getMyNumber() != null) { + joiner.add(String.format("%s[my_number]=%s", prefix, URLEncoder.encode(String.valueOf(getMyNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `my_string` to the URL query string + if (getMyString() != null) { + joiner.add(String.format("%s[my_string]=%s", prefix, URLEncoder.encode(String.valueOf(getMyString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `my_boolean` to the URL query string + if (getMyBoolean() != null) { + joiner.add(String.format("%s[my_boolean]=%s", prefix, URLEncoder.encode(String.valueOf(getMyBoolean()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnum.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnum.java index afc912041230..953d8fc622f6 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnum.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnum.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnum fromValue(String value) { } return null; } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java index f24d69e69efd..91e90954f7aa 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumDefaultValue fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumInteger.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumInteger.java index e2d7dd14099c..7cc4f5b61113 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumInteger.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumInteger.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumInteger fromValue(Integer value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java index 029cf8899a48..c6ca3f9e9c33 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumIntegerDefaultValue fromValue(Integer value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java index 954848546b5e..27f8c25c607b 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(String.format("%s[value]=%s", prefix, URLEncoder.encode(String.valueOf(getValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Pet.java index 495d6089ee59..f86c763e71da 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Pet.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Pet.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -317,5 +320,59 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `category` to the URL query string + if (getCategory() != null) { + joiner.add(getCategory().toUrlQueryString(prefix + "[category]")); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `photoUrls` to the URL query string + if (getPhotoUrls() != null) { + int i = 0; + for (String _item : getPhotoUrls()) { + joiner.add(String.format("%s[photoUrls][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + i++; + } + + // add `tags` to the URL query string + if (getTags() != null) { + for (int i = 0; i < getTags().size(); i++) { + if (getTags().get(i) != null) { + joiner.add(getTags().get(i).toUrlQueryString(String.format("%s[tags][%d]", prefix, i))); + } + } + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java index f1491fb3d3d4..a72dde92663c 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -133,5 +136,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `baz` to the URL query string + if (getBaz() != null) { + joiner.add(String.format("%s[baz]=%s", prefix, URLEncoder.encode(String.valueOf(getBaz()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SingleRefType.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SingleRefType.java index bda82b5fe7f1..f5a6f7af3448 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SingleRefType.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SingleRefType.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -57,5 +60,20 @@ public static SingleRefType fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SpecialModelName.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SpecialModelName.java index 5615ba7b959c..22fe4bfdf615 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SpecialModelName.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/SpecialModelName.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `$special[property.name]` to the URL query string + if (get$SpecialPropertyName() != null) { + joiner.add(String.format("%s[$special[property.name]]=%s", prefix, URLEncoder.encode(String.valueOf(get$SpecialPropertyName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Tag.java index 4283b2d97ac5..abb07246b92f 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Tag.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/Tag.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/User.java index 5f93d2765fba..3c51a0bc9e21 100644 --- a/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/User.java +++ b/samples/client/petstore/java/native-async/src/main/java/org/openapitools/client/model/User.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -321,5 +324,61 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add(String.format("%s[username]=%s", prefix, URLEncoder.encode(String.valueOf(getUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `firstName` to the URL query string + if (getFirstName() != null) { + joiner.add(String.format("%s[firstName]=%s", prefix, URLEncoder.encode(String.valueOf(getFirstName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `lastName` to the URL query string + if (getLastName() != null) { + joiner.add(String.format("%s[lastName]=%s", prefix, URLEncoder.encode(String.valueOf(getLastName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `email` to the URL query string + if (getEmail() != null) { + joiner.add(String.format("%s[email]=%s", prefix, URLEncoder.encode(String.valueOf(getEmail()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add(String.format("%s[password]=%s", prefix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `phone` to the URL query string + if (getPhone() != null) { + joiner.add(String.format("%s[phone]=%s", prefix, URLEncoder.encode(String.valueOf(getPhone()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `userStatus` to the URL query string + if (getUserStatus() != null) { + joiner.add(String.format("%s[userStatus]=%s", prefix, URLEncoder.encode(String.valueOf(getUserStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/PetApi.java index c8b0a4e5cd4a..2a574c157aa0 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/PetApi.java @@ -292,11 +292,17 @@ private HttpRequest.Builder findPetsByStatusRequestBuilder(List status) String localVarPath = "/pet/findByStatus"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "status"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "status", status)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -376,11 +382,17 @@ private HttpRequest.Builder findPetsByTagsRequestBuilder(List tags) thro String localVarPath = "/pet/findByTags"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "tags"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "tags", tags)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/UserApi.java index 84f03a93898b..86805d3d3478 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/api/UserApi.java @@ -527,12 +527,19 @@ private HttpRequest.Builder loginUserRequestBuilder(String username, String pass String localVarPath = "/user/login"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "username"; localVarQueryParams.addAll(ApiClient.parameterToPairs("username", username)); + localVarQueryParameterBaseName = "password"; localVarQueryParams.addAll(ApiClient.parameterToPairs("password", password)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Category.java index ea2d4b27210d..35b039460b54 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Category.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Category.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/ModelApiResponse.java index 007576d9119a..f2371cbfa20d 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/ModelApiResponse.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/ModelApiResponse.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -166,5 +169,36 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `code` to the URL query string + if (getCode() != null) { + joiner.add(String.format("%s[code]=%s", prefix, URLEncoder.encode(String.valueOf(getCode()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format("%s[type]=%s", prefix, URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add(String.format("%s[message]=%s", prefix, URLEncoder.encode(String.valueOf(getMessage()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Order.java index 95ca1a8510dc..5e7005c889da 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Order.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Order.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -297,5 +300,51 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `petId` to the URL query string + if (getPetId() != null) { + joiner.add(String.format("%s[petId]=%s", prefix, URLEncoder.encode(String.valueOf(getPetId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `quantity` to the URL query string + if (getQuantity() != null) { + joiner.add(String.format("%s[quantity]=%s", prefix, URLEncoder.encode(String.valueOf(getQuantity()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `shipDate` to the URL query string + if (getShipDate() != null) { + joiner.add(String.format("%s[shipDate]=%s", prefix, URLEncoder.encode(String.valueOf(getShipDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `complete` to the URL query string + if (getComplete() != null) { + joiner.add(String.format("%s[complete]=%s", prefix, URLEncoder.encode(String.valueOf(getComplete()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Pet.java index 559fccce4911..44df5060dab6 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Pet.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Pet.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -315,5 +318,57 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `category` to the URL query string + if (getCategory() != null) { + joiner.add(getCategory().toUrlQueryString(prefix + "[category]")); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `photoUrls` to the URL query string + if (getPhotoUrls() != null) { + for (int i = 0; i < getPhotoUrls().size(); i++) { + joiner.add(String.format("%s[photoUrls][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getPhotoUrls().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `tags` to the URL query string + if (getTags() != null) { + for (int i = 0; i < getTags().size(); i++) { + if (getTags().get(i) != null) { + joiner.add(getTags().get(i).toUrlQueryString(String.format("%s[tags][%d]", prefix, i))); + } + } + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Tag.java index 7d21f6b9b15d..b4bec650cff1 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Tag.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/Tag.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/User.java index 961629b53aa9..fc0228b7dca2 100644 --- a/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/User.java +++ b/samples/client/petstore/java/native-jakarta/src/main/java/org/openapitools/client/model/User.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -321,5 +324,61 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add(String.format("%s[username]=%s", prefix, URLEncoder.encode(String.valueOf(getUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `firstName` to the URL query string + if (getFirstName() != null) { + joiner.add(String.format("%s[firstName]=%s", prefix, URLEncoder.encode(String.valueOf(getFirstName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `lastName` to the URL query string + if (getLastName() != null) { + joiner.add(String.format("%s[lastName]=%s", prefix, URLEncoder.encode(String.valueOf(getLastName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `email` to the URL query string + if (getEmail() != null) { + joiner.add(String.format("%s[email]=%s", prefix, URLEncoder.encode(String.valueOf(getEmail()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add(String.format("%s[password]=%s", prefix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `phone` to the URL query string + if (getPhone() != null) { + joiner.add(String.format("%s[phone]=%s", prefix, URLEncoder.encode(String.valueOf(getPhone()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `userStatus` to the URL query string + if (getUserStatus() != null) { + joiner.add(String.format("%s[userStatus]=%s", prefix, URLEncoder.encode(String.valueOf(getUserStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/FakeApi.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/FakeApi.java index 6f1b8fa50ff7..7326d1bf0596 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/FakeApi.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/FakeApi.java @@ -216,11 +216,17 @@ private HttpRequest.Builder fakeHttpSignatureTestRequestBuilder(Pet pet, String String localVarPath = "/fake/http-signature-test"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query_1"; localVarQueryParams.addAll(ApiClient.parameterToPairs("query_1", query1)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -838,11 +844,17 @@ private HttpRequest.Builder testBodyWithQueryParamsRequestBuilder(String query, String localVarPath = "/fake/body-with-query-params"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "query"; localVarQueryParams.addAll(ApiClient.parameterToPairs("query", query)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1128,15 +1140,25 @@ private HttpRequest.Builder testEnumParametersRequestBuilder(List enumHe String localVarPath = "/fake"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "enum_query_string_array"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "enum_query_string_array", enumQueryStringArray)); + localVarQueryParameterBaseName = "enum_query_string"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_string", enumQueryString)); + localVarQueryParameterBaseName = "enum_query_integer"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_integer", enumQueryInteger)); + localVarQueryParameterBaseName = "enum_query_double"; localVarQueryParams.addAll(ApiClient.parameterToPairs("enum_query_double", enumQueryDouble)); + localVarQueryParameterBaseName = "enum_query_model_array"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "enum_query_model_array", enumQueryModelArray)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1272,14 +1294,23 @@ private HttpRequest.Builder testGroupParametersRequestBuilder(Integer requiredSt String localVarPath = "/fake"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "required_string_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("required_string_group", requiredStringGroup)); + localVarQueryParameterBaseName = "required_int64_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("required_int64_group", requiredInt64Group)); + localVarQueryParameterBaseName = "string_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("string_group", stringGroup)); + localVarQueryParameterBaseName = "int64_group"; localVarQueryParams.addAll(ApiClient.parameterToPairs("int64_group", int64Group)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -1633,17 +1664,29 @@ private HttpRequest.Builder testQueryParameterCollectionFormatRequestBuilder(Lis String localVarPath = "/fake/test-query-parameters"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "pipe"; localVarQueryParams.addAll(ApiClient.parameterToPairs("pipes", "pipe", pipe)); + localVarQueryParameterBaseName = "ioutil"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "ioutil", ioutil)); + localVarQueryParameterBaseName = "http"; localVarQueryParams.addAll(ApiClient.parameterToPairs("ssv", "http", http)); + localVarQueryParameterBaseName = "url"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "url", url)); + localVarQueryParameterBaseName = "context"; localVarQueryParams.addAll(ApiClient.parameterToPairs("multi", "context", context)); + localVarQueryParameterBaseName = "language"; localVarQueryParams.addAll(ApiClient.parameterToPairs("language", language)); + localVarQueryParameterBaseName = "allowEmpty"; localVarQueryParams.addAll(ApiClient.parameterToPairs("allowEmpty", allowEmpty)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/PetApi.java index c112cf7b24d4..bf60bc392948 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/PetApi.java @@ -296,11 +296,17 @@ private HttpRequest.Builder findPetsByStatusRequestBuilder(List status) String localVarPath = "/pet/findByStatus"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "status"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "status", status)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); @@ -380,11 +386,17 @@ private HttpRequest.Builder findPetsByTagsRequestBuilder(Set tags) throw String localVarPath = "/pet/findByTags"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "tags"; localVarQueryParams.addAll(ApiClient.parameterToPairs("csv", "tags", tags)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/UserApi.java index a270a56bea56..1e4981fd60f1 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/api/UserApi.java @@ -527,12 +527,19 @@ private HttpRequest.Builder loginUserRequestBuilder(String username, String pass String localVarPath = "/user/login"; List localVarQueryParams = new ArrayList<>(); + StringJoiner localVarQueryDeepObjectStringJoiner = new StringJoiner("&"); + String localVarQueryParameterBaseName; + localVarQueryParameterBaseName = "username"; localVarQueryParams.addAll(ApiClient.parameterToPairs("username", username)); + localVarQueryParameterBaseName = "password"; localVarQueryParams.addAll(ApiClient.parameterToPairs("password", password)); - if (!localVarQueryParams.isEmpty()) { + if (!localVarQueryParams.isEmpty() || localVarQueryDeepObjectStringJoiner.length() != 0) { StringJoiner queryJoiner = new StringJoiner("&"); localVarQueryParams.forEach(p -> queryJoiner.add(p.getName() + '=' + p.getValue())); + if (localVarQueryDeepObjectStringJoiner.length() != 0) { + queryJoiner.add(localVarQueryDeepObjectStringJoiner.toString()); + } localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath + '?' + queryJoiner.toString())); } else { localVarRequestBuilder.uri(URI.create(memberVarBaseUri + localVarPath)); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java index 78e2f1b45df0..7006df183cfb 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AdditionalPropertiesClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -153,5 +156,35 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `map_property` to the URL query string + if (getMapProperty() != null) { + for (String _key : getMapProperty().keySet()) { + joiner.add(String.format("%s[map_property][%s]=%s", prefix, getMapProperty().get(_key), URLEncoder.encode(String.valueOf(getMapProperty().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `map_of_map_property` to the URL query string + if (getMapOfMapProperty() != null) { + for (String _key : getMapOfMapProperty().keySet()) { + joiner.add(String.format("%s[map_of_map_property][%s]=%s", prefix, getMapOfMapProperty().get(_key), URLEncoder.encode(String.valueOf(getMapOfMapProperty().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java index e437c8f065b4..b71cb02f4887 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/AllOfWithSingleRef.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -136,5 +139,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add(String.format("%s[username]=%s", prefix, URLEncoder.encode(String.valueOf(getUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `SingleRefType` to the URL query string + if (getSingleRefType() != null) { + joiner.add(getSingleRefType().toUrlQueryString(prefix + "[SingleRefType]")); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Animal.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Animal.java index 31f94e6dc75f..3aa750fa35e2 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Animal.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Animal.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -151,6 +154,32 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java index 298a91c8c494..970b58066843 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfArrayOfNumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -115,5 +118,30 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `ArrayArrayNumber` to the URL query string + if (getArrayArrayNumber() != null) { + for (int i = 0; i < getArrayArrayNumber().size(); i++) { + if (getArrayArrayNumber().get(i) != null) { + joiner.add(String.format("%s[ArrayArrayNumber][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayNumber().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java index f4a15c4fdadd..62b7b79a6f30 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayOfNumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -115,5 +118,30 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `ArrayNumber` to the URL query string + if (getArrayNumber() != null) { + for (int i = 0; i < getArrayNumber().size(); i++) { + if (getArrayNumber().get(i) != null) { + joiner.add(String.format("%s[ArrayNumber][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayNumber().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayTest.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayTest.java index 92188d6c830d..dcb8a63918f1 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayTest.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ArrayTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -193,5 +196,44 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `array_of_string` to the URL query string + if (getArrayOfString() != null) { + for (int i = 0; i < getArrayOfString().size(); i++) { + joiner.add(String.format("%s[array_of_string][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayOfString().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_array_of_integer` to the URL query string + if (getArrayArrayOfInteger() != null) { + for (int i = 0; i < getArrayArrayOfInteger().size(); i++) { + joiner.add(String.format("%s[array_array_of_integer][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayOfInteger().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_array_of_model` to the URL query string + if (getArrayArrayOfModel() != null) { + for (int i = 0; i < getArrayArrayOfModel().size(); i++) { + if (getArrayArrayOfModel().get(i) != null) { + joiner.add(String.format("%s[array_array_of_model][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayArrayOfModel().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Capitalization.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Capitalization.java index 9be2bbdd9ead..2574cdce1669 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Capitalization.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Capitalization.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -259,5 +262,51 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `smallCamel` to the URL query string + if (getSmallCamel() != null) { + joiner.add(String.format("%s[smallCamel]=%s", prefix, URLEncoder.encode(String.valueOf(getSmallCamel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `CapitalCamel` to the URL query string + if (getCapitalCamel() != null) { + joiner.add(String.format("%s[CapitalCamel]=%s", prefix, URLEncoder.encode(String.valueOf(getCapitalCamel()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `small_Snake` to the URL query string + if (getSmallSnake() != null) { + joiner.add(String.format("%s[small_Snake]=%s", prefix, URLEncoder.encode(String.valueOf(getSmallSnake()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `Capital_Snake` to the URL query string + if (getCapitalSnake() != null) { + joiner.add(String.format("%s[Capital_Snake]=%s", prefix, URLEncoder.encode(String.valueOf(getCapitalSnake()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `SCA_ETH_Flow_Points` to the URL query string + if (getScAETHFlowPoints() != null) { + joiner.add(String.format("%s[SCA_ETH_Flow_Points]=%s", prefix, URLEncoder.encode(String.valueOf(getScAETHFlowPoints()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `ATT_NAME` to the URL query string + if (getATTNAME() != null) { + joiner.add(String.format("%s[ATT_NAME]=%s", prefix, URLEncoder.encode(String.valueOf(getATTNAME()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java index 2a7594427f29..860702eac84b 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Cat.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -117,6 +120,37 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `declawed` to the URL query string + if (getDeclawed() != null) { + joiner.add(String.format("%s[declawed]=%s", prefix, URLEncoder.encode(String.valueOf(getDeclawed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/CatAllOf.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/CatAllOf.java index dac0f9ff92bd..8e1e072f81c0 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/CatAllOf.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/CatAllOf.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `declawed` to the URL query string + if (getDeclawed() != null) { + joiner.add(String.format("%s[declawed]=%s", prefix, URLEncoder.encode(String.valueOf(getDeclawed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Category.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Category.java index 756d99ade647..1872a29caf86 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Category.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Category.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ClassModel.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ClassModel.java index 8af840727737..d25f2c5ca5d3 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ClassModel.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ClassModel.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `_class` to the URL query string + if (getPropertyClass() != null) { + joiner.add(String.format("%s[_class]=%s", prefix, URLEncoder.encode(String.valueOf(getPropertyClass()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Client.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Client.java index 90090a1cd338..c585f53bdc79 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Client.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Client.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `client` to the URL query string + if (getClient() != null) { + joiner.add(String.format("%s[client]=%s", prefix, URLEncoder.encode(String.valueOf(getClient()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DeprecatedObject.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DeprecatedObject.java index e3dd7ee0d088..88f1caf2f2e8 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DeprecatedObject.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DeprecatedObject.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -106,5 +109,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java index 2a37db94c555..63da5a9f1886 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Dog.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -117,6 +120,37 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `className` to the URL query string + if (getClassName() != null) { + joiner.add(String.format("%s[className]=%s", prefix, URLEncoder.encode(String.valueOf(getClassName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `color` to the URL query string + if (getColor() != null) { + joiner.add(String.format("%s[color]=%s", prefix, URLEncoder.encode(String.valueOf(getColor()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `breed` to the URL query string + if (getBreed() != null) { + joiner.add(String.format("%s[breed]=%s", prefix, URLEncoder.encode(String.valueOf(getBreed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } static { // Initialize and register the discriminator mappings. Map> mappings = new HashMap>(); diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DogAllOf.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DogAllOf.java index 1bfba33c77ca..f9176aebadec 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DogAllOf.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/DogAllOf.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `breed` to the URL query string + if (getBreed() != null) { + joiner.add(String.format("%s[breed]=%s", prefix, URLEncoder.encode(String.valueOf(getBreed()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumArrays.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumArrays.java index dd481cdf4d58..66a53989334b 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumArrays.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumArrays.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -215,5 +218,33 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `just_symbol` to the URL query string + if (getJustSymbol() != null) { + joiner.add(String.format("%s[just_symbol]=%s", prefix, URLEncoder.encode(String.valueOf(getJustSymbol()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `array_enum` to the URL query string + if (getArrayEnum() != null) { + for (int i = 0; i < getArrayEnum().size(); i++) { + joiner.add(String.format("%s[array_enum][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayEnum().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumClass.java index 0fdfb1bf6b1b..c74eb42a06b0 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static EnumClass fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumTest.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumTest.java index ce63673e2076..67714bf97651 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumTest.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/EnumTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -492,5 +495,61 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `enum_string` to the URL query string + if (getEnumString() != null) { + joiner.add(String.format("%s[enum_string]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_string_required` to the URL query string + if (getEnumStringRequired() != null) { + joiner.add(String.format("%s[enum_string_required]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumStringRequired()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_integer` to the URL query string + if (getEnumInteger() != null) { + joiner.add(String.format("%s[enum_integer]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `enum_number` to the URL query string + if (getEnumNumber() != null) { + joiner.add(String.format("%s[enum_number]=%s", prefix, URLEncoder.encode(String.valueOf(getEnumNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnum` to the URL query string + if (getOuterEnum() != null) { + joiner.add(String.format("%s[outerEnum]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnum()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumInteger` to the URL query string + if (getOuterEnumInteger() != null) { + joiner.add(String.format("%s[outerEnumInteger]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumDefaultValue` to the URL query string + if (getOuterEnumDefaultValue() != null) { + joiner.add(String.format("%s[outerEnumDefaultValue]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumDefaultValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `outerEnumIntegerDefaultValue` to the URL query string + if (getOuterEnumIntegerDefaultValue() != null) { + joiner.add(String.format("%s[outerEnumIntegerDefaultValue]=%s", prefix, URLEncoder.encode(String.valueOf(getOuterEnumIntegerDefaultValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java index 232095a95c5f..9605e93a69bd 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FileSchemaTestClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -146,5 +149,35 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `file` to the URL query string + if (getFile() != null) { + joiner.add(getFile().toUrlQueryString(prefix + "[file]")); + } + + // add `files` to the URL query string + if (getFiles() != null) { + for (int i = 0; i < getFiles().size(); i++) { + if (getFiles().get(i) != null) { + joiner.add(getFiles().get(i).toUrlQueryString(String.format("%s[files][%d]", prefix, i))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Foo.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Foo.java index 0119bf9920bf..35c06af25b09 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Foo.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Foo.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java index cf180cf90860..c5cdb8d3fdea 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FooGetDefaultResponse.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `string` to the URL query string + if (getString() != null) { + joiner.add(getString().toUrlQueryString(prefix + "[string]")); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FormatTest.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FormatTest.java index 656785f0505c..57e9fc32be41 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FormatTest.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/FormatTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -584,5 +587,101 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `integer` to the URL query string + if (getInteger() != null) { + joiner.add(String.format("%s[integer]=%s", prefix, URLEncoder.encode(String.valueOf(getInteger()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `int32` to the URL query string + if (getInt32() != null) { + joiner.add(String.format("%s[int32]=%s", prefix, URLEncoder.encode(String.valueOf(getInt32()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `int64` to the URL query string + if (getInt64() != null) { + joiner.add(String.format("%s[int64]=%s", prefix, URLEncoder.encode(String.valueOf(getInt64()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `number` to the URL query string + if (getNumber() != null) { + joiner.add(String.format("%s[number]=%s", prefix, URLEncoder.encode(String.valueOf(getNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `float` to the URL query string + if (getFloat() != null) { + joiner.add(String.format("%s[float]=%s", prefix, URLEncoder.encode(String.valueOf(getFloat()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `double` to the URL query string + if (getDouble() != null) { + joiner.add(String.format("%s[double]=%s", prefix, URLEncoder.encode(String.valueOf(getDouble()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `decimal` to the URL query string + if (getDecimal() != null) { + joiner.add(String.format("%s[decimal]=%s", prefix, URLEncoder.encode(String.valueOf(getDecimal()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `string` to the URL query string + if (getString() != null) { + joiner.add(String.format("%s[string]=%s", prefix, URLEncoder.encode(String.valueOf(getString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `byte` to the URL query string + if (getByte() != null) { + joiner.add(String.format("%s[byte]=%s", prefix, URLEncoder.encode(String.valueOf(getByte()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `binary` to the URL query string + if (getBinary() != null) { + joiner.add(String.format("%s[binary]=%s", prefix, URLEncoder.encode(String.valueOf(getBinary()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `date` to the URL query string + if (getDate() != null) { + joiner.add(String.format("%s[date]=%s", prefix, URLEncoder.encode(String.valueOf(getDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `dateTime` to the URL query string + if (getDateTime() != null) { + joiner.add(String.format("%s[dateTime]=%s", prefix, URLEncoder.encode(String.valueOf(getDateTime()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add(String.format("%s[password]=%s", prefix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `pattern_with_digits` to the URL query string + if (getPatternWithDigits() != null) { + joiner.add(String.format("%s[pattern_with_digits]=%s", prefix, URLEncoder.encode(String.valueOf(getPatternWithDigits()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `pattern_with_digits_and_delimiter` to the URL query string + if (getPatternWithDigitsAndDelimiter() != null) { + joiner.add(String.format("%s[pattern_with_digits_and_delimiter]=%s", prefix, URLEncoder.encode(String.valueOf(getPatternWithDigitsAndDelimiter()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java index bd4086b1275d..016d5a84dfeb 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HasOnlyReadOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -125,5 +128,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `foo` to the URL query string + if (getFoo() != null) { + joiner.add(String.format("%s[foo]=%s", prefix, URLEncoder.encode(String.valueOf(getFoo()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HealthCheckResult.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HealthCheckResult.java index 6e7eddc52f0f..ddc8e843926b 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HealthCheckResult.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/HealthCheckResult.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -127,5 +130,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `NullableMessage` to the URL query string + if (getNullableMessage() != null) { + joiner.add(String.format("%s[NullableMessage]=%s", prefix, URLEncoder.encode(String.valueOf(getNullableMessage()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java index 765fd6957496..5edaec5cd7d4 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MapTest.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -266,5 +269,49 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `map_map_of_string` to the URL query string + if (getMapMapOfString() != null) { + for (String _key : getMapMapOfString().keySet()) { + joiner.add(String.format("%s[map_map_of_string][%s]=%s", prefix, getMapMapOfString().get(_key), URLEncoder.encode(String.valueOf(getMapMapOfString().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `map_of_enum_string` to the URL query string + if (getMapOfEnumString() != null) { + for (String _key : getMapOfEnumString().keySet()) { + joiner.add(String.format("%s[map_of_enum_string][%s]=%s", prefix, getMapOfEnumString().get(_key), URLEncoder.encode(String.valueOf(getMapOfEnumString().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `direct_map` to the URL query string + if (getDirectMap() != null) { + for (String _key : getDirectMap().keySet()) { + joiner.add(String.format("%s[direct_map][%s]=%s", prefix, getDirectMap().get(_key), URLEncoder.encode(String.valueOf(getDirectMap().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `indirect_map` to the URL query string + if (getIndirectMap() != null) { + for (String _key : getIndirectMap().keySet()) { + joiner.add(String.format("%s[indirect_map][%s]=%s", prefix, getIndirectMap().get(_key), URLEncoder.encode(String.valueOf(getIndirectMap().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java index 1daca05c1c67..d6c0fbba9d71 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/MixedPropertiesAndAdditionalPropertiesClass.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -179,5 +182,40 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `dateTime` to the URL query string + if (getDateTime() != null) { + joiner.add(String.format("%s[dateTime]=%s", prefix, URLEncoder.encode(String.valueOf(getDateTime()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `map` to the URL query string + if (getMap() != null) { + for (String _key : getMap().keySet()) { + if (getMap().get(_key) != null) { + joiner.add(getMap().get(_key).toUrlQueryString(String.format("%s[map][%s]", prefix, _key))); + } + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Model200Response.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Model200Response.java index f3384596101f..3bd5189ebf9b 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Model200Response.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Model200Response.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `class` to the URL query string + if (getPropertyClass() != null) { + joiner.add(String.format("%s[class]=%s", prefix, URLEncoder.encode(String.valueOf(getPropertyClass()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelApiResponse.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelApiResponse.java index 4453f049d475..2ee58c4ff82e 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelApiResponse.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelApiResponse.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -166,5 +169,36 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `code` to the URL query string + if (getCode() != null) { + joiner.add(String.format("%s[code]=%s", prefix, URLEncoder.encode(String.valueOf(getCode()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `type` to the URL query string + if (getType() != null) { + joiner.add(String.format("%s[type]=%s", prefix, URLEncoder.encode(String.valueOf(getType()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `message` to the URL query string + if (getMessage() != null) { + joiner.add(String.format("%s[message]=%s", prefix, URLEncoder.encode(String.valueOf(getMessage()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelFile.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelFile.java index 644462a8ae43..5b5069b2f9a8 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelFile.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelFile.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `sourceURI` to the URL query string + if (getSourceURI() != null) { + joiner.add(String.format("%s[sourceURI]=%s", prefix, URLEncoder.encode(String.valueOf(getSourceURI()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelList.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelList.java index 258140f45adb..a347065b3767 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelList.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelList.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `123-list` to the URL query string + if (get123list() != null) { + joiner.add(String.format("%s[123-list]=%s", prefix, URLEncoder.encode(String.valueOf(get123list()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelReturn.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelReturn.java index 1a5599137ffb..7b9127c22094 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelReturn.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ModelReturn.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `return` to the URL query string + if (getReturn() != null) { + joiner.add(String.format("%s[return]=%s", prefix, URLEncoder.encode(String.valueOf(getReturn()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Name.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Name.java index 5cfbd99ac349..261f3f024f93 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Name.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Name.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -187,5 +190,41 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `snake_case` to the URL query string + if (getSnakeCase() != null) { + joiner.add(String.format("%s[snake_case]=%s", prefix, URLEncoder.encode(String.valueOf(getSnakeCase()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `property` to the URL query string + if (getProperty() != null) { + joiner.add(String.format("%s[property]=%s", prefix, URLEncoder.encode(String.valueOf(getProperty()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `123Number` to the URL query string + if (get123number() != null) { + joiner.add(String.format("%s[123Number]=%s", prefix, URLEncoder.encode(String.valueOf(get123number()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NullableClass.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NullableClass.java index 7c13749d5696..96634937a4f0 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NullableClass.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NullableClass.java @@ -17,10 +17,13 @@ import java.util.HashMap; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -662,5 +665,93 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `integer_prop` to the URL query string + if (getIntegerProp() != null) { + joiner.add(String.format("%s[integer_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getIntegerProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `number_prop` to the URL query string + if (getNumberProp() != null) { + joiner.add(String.format("%s[number_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getNumberProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `boolean_prop` to the URL query string + if (getBooleanProp() != null) { + joiner.add(String.format("%s[boolean_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getBooleanProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `string_prop` to the URL query string + if (getStringProp() != null) { + joiner.add(String.format("%s[string_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getStringProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `date_prop` to the URL query string + if (getDateProp() != null) { + joiner.add(String.format("%s[date_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getDateProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `datetime_prop` to the URL query string + if (getDatetimeProp() != null) { + joiner.add(String.format("%s[datetime_prop]=%s", prefix, URLEncoder.encode(String.valueOf(getDatetimeProp()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `array_nullable_prop` to the URL query string + if (getArrayNullableProp() != null) { + for (int i = 0; i < getArrayNullableProp().size(); i++) { + joiner.add(String.format("%s[array_nullable_prop][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayNullableProp().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_and_items_nullable_prop` to the URL query string + if (getArrayAndItemsNullableProp() != null) { + for (int i = 0; i < getArrayAndItemsNullableProp().size(); i++) { + joiner.add(String.format("%s[array_and_items_nullable_prop][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayAndItemsNullableProp().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `array_items_nullable` to the URL query string + if (getArrayItemsNullable() != null) { + for (int i = 0; i < getArrayItemsNullable().size(); i++) { + joiner.add(String.format("%s[array_items_nullable][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getArrayItemsNullable().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_nullable_prop` to the URL query string + if (getObjectNullableProp() != null) { + for (String _key : getObjectNullableProp().keySet()) { + joiner.add(String.format("%s[object_nullable_prop][%s]=%s", prefix, getObjectNullableProp().get(_key), URLEncoder.encode(String.valueOf(getObjectNullableProp().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_and_items_nullable_prop` to the URL query string + if (getObjectAndItemsNullableProp() != null) { + for (String _key : getObjectAndItemsNullableProp().keySet()) { + joiner.add(String.format("%s[object_and_items_nullable_prop][%s]=%s", prefix, getObjectAndItemsNullableProp().get(_key), URLEncoder.encode(String.valueOf(getObjectAndItemsNullableProp().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + // add `object_items_nullable` to the URL query string + if (getObjectItemsNullable() != null) { + for (String _key : getObjectItemsNullable().keySet()) { + joiner.add(String.format("%s[object_items_nullable][%s]=%s", prefix, getObjectItemsNullable().get(_key), URLEncoder.encode(String.valueOf(getObjectItemsNullable().get(_key)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NumberOnly.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NumberOnly.java index 715a6d10e1a0..2414c372836c 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NumberOnly.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/NumberOnly.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `JustNumber` to the URL query string + if (getJustNumber() != null) { + joiner.add(String.format("%s[JustNumber]=%s", prefix, URLEncoder.encode(String.valueOf(getJustNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java index 2a200a70f1d5..1969ac6d4da0 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ObjectWithDeprecatedFields.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -215,5 +218,43 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `uuid` to the URL query string + if (getUuid() != null) { + joiner.add(String.format("%s[uuid]=%s", prefix, URLEncoder.encode(String.valueOf(getUuid()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `deprecatedRef` to the URL query string + if (getDeprecatedRef() != null) { + joiner.add(getDeprecatedRef().toUrlQueryString(prefix + "[deprecatedRef]")); + } + + // add `bars` to the URL query string + if (getBars() != null) { + for (int i = 0; i < getBars().size(); i++) { + joiner.add(String.format("%s[bars][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(getBars().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Order.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Order.java index 9a393b4eee2a..aa6a6530cc9d 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Order.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Order.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -297,5 +300,51 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `petId` to the URL query string + if (getPetId() != null) { + joiner.add(String.format("%s[petId]=%s", prefix, URLEncoder.encode(String.valueOf(getPetId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `quantity` to the URL query string + if (getQuantity() != null) { + joiner.add(String.format("%s[quantity]=%s", prefix, URLEncoder.encode(String.valueOf(getQuantity()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `shipDate` to the URL query string + if (getShipDate() != null) { + joiner.add(String.format("%s[shipDate]=%s", prefix, URLEncoder.encode(String.valueOf(getShipDate()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `complete` to the URL query string + if (getComplete() != null) { + joiner.add(String.format("%s[complete]=%s", prefix, URLEncoder.encode(String.valueOf(getComplete()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterComposite.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterComposite.java index 7b4bc962957f..9614576d84a5 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterComposite.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterComposite.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -167,5 +170,36 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `my_number` to the URL query string + if (getMyNumber() != null) { + joiner.add(String.format("%s[my_number]=%s", prefix, URLEncoder.encode(String.valueOf(getMyNumber()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `my_string` to the URL query string + if (getMyString() != null) { + joiner.add(String.format("%s[my_string]=%s", prefix, URLEncoder.encode(String.valueOf(getMyString()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `my_boolean` to the URL query string + if (getMyBoolean() != null) { + joiner.add(String.format("%s[my_boolean]=%s", prefix, URLEncoder.encode(String.valueOf(getMyBoolean()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnum.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnum.java index afc912041230..953d8fc622f6 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnum.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnum.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnum fromValue(String value) { } return null; } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java index f24d69e69efd..91e90954f7aa 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumDefaultValue.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumDefaultValue fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumInteger.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumInteger.java index e2d7dd14099c..7cc4f5b61113 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumInteger.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumInteger.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumInteger fromValue(Integer value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java index 029cf8899a48..c6ca3f9e9c33 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterEnumIntegerDefaultValue.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -59,5 +62,20 @@ public static OuterEnumIntegerDefaultValue fromValue(Integer value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java index 954848546b5e..27f8c25c607b 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/OuterObjectWithEnumProperty.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -105,5 +108,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `value` to the URL query string + if (getValue() != null) { + joiner.add(String.format("%s[value]=%s", prefix, URLEncoder.encode(String.valueOf(getValue()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Pet.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Pet.java index 495d6089ee59..f86c763e71da 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Pet.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Pet.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -317,5 +320,59 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `category` to the URL query string + if (getCategory() != null) { + joiner.add(getCategory().toUrlQueryString(prefix + "[category]")); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `photoUrls` to the URL query string + if (getPhotoUrls() != null) { + int i = 0; + for (String _item : getPhotoUrls()) { + joiner.add(String.format("%s[photoUrls][%d]=%s", prefix, i, URLEncoder.encode(String.valueOf(_item), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + i++; + } + + // add `tags` to the URL query string + if (getTags() != null) { + for (int i = 0; i < getTags().size(); i++) { + if (getTags().get(i) != null) { + joiner.add(getTags().get(i).toUrlQueryString(String.format("%s[tags][%d]", prefix, i))); + } + } + } + + // add `status` to the URL query string + if (getStatus() != null) { + joiner.add(String.format("%s[status]=%s", prefix, URLEncoder.encode(String.valueOf(getStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java index f1491fb3d3d4..a72dde92663c 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/ReadOnlyFirst.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -133,5 +136,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `bar` to the URL query string + if (getBar() != null) { + joiner.add(String.format("%s[bar]=%s", prefix, URLEncoder.encode(String.valueOf(getBar()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `baz` to the URL query string + if (getBaz() != null) { + joiner.add(String.format("%s[baz]=%s", prefix, URLEncoder.encode(String.valueOf(getBaz()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SingleRefType.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SingleRefType.java index bda82b5fe7f1..f5a6f7af3448 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SingleRefType.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SingleRefType.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonPropertyOrder; @@ -57,5 +60,20 @@ public static SingleRefType fromValue(String value) { } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + return String.format("%s=%s", prefix, this.toString()); + } + } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SpecialModelName.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SpecialModelName.java index 5615ba7b959c..22fe4bfdf615 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SpecialModelName.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/SpecialModelName.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -104,5 +107,26 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `$special[property.name]` to the URL query string + if (get$SpecialPropertyName() != null) { + joiner.add(String.format("%s[$special[property.name]]=%s", prefix, URLEncoder.encode(String.valueOf(get$SpecialPropertyName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Tag.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Tag.java index 4283b2d97ac5..abb07246b92f 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Tag.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/Tag.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -135,5 +138,31 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `name` to the URL query string + if (getName() != null) { + joiner.add(String.format("%s[name]=%s", prefix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } } diff --git a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/User.java b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/User.java index 5f93d2765fba..3c51a0bc9e21 100644 --- a/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/User.java +++ b/samples/client/petstore/java/native/src/main/java/org/openapitools/client/model/User.java @@ -13,10 +13,13 @@ package org.openapitools.client.model; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; +import java.util.StringJoiner; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; @@ -321,5 +324,61 @@ private String toIndentedString(Object o) { return o.toString().replace("\n", "\n "); } + + /** + * Convert the instance into URL query string. + * + * @param prefix prefix of the query string + * @return URL query string + */ + public String toUrlQueryString(String prefix) { + if (prefix == null) { + prefix = ""; + } + + StringJoiner joiner = new StringJoiner("&"); + + // add `id` to the URL query string + if (getId() != null) { + joiner.add(String.format("%s[id]=%s", prefix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `username` to the URL query string + if (getUsername() != null) { + joiner.add(String.format("%s[username]=%s", prefix, URLEncoder.encode(String.valueOf(getUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `firstName` to the URL query string + if (getFirstName() != null) { + joiner.add(String.format("%s[firstName]=%s", prefix, URLEncoder.encode(String.valueOf(getFirstName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `lastName` to the URL query string + if (getLastName() != null) { + joiner.add(String.format("%s[lastName]=%s", prefix, URLEncoder.encode(String.valueOf(getLastName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `email` to the URL query string + if (getEmail() != null) { + joiner.add(String.format("%s[email]=%s", prefix, URLEncoder.encode(String.valueOf(getEmail()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `password` to the URL query string + if (getPassword() != null) { + joiner.add(String.format("%s[password]=%s", prefix, URLEncoder.encode(String.valueOf(getPassword()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `phone` to the URL query string + if (getPhone() != null) { + joiner.add(String.format("%s[phone]=%s", prefix, URLEncoder.encode(String.valueOf(getPhone()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + // add `userStatus` to the URL query string + if (getUserStatus() != null) { + joiner.add(String.format("%s[userStatus]=%s", prefix, URLEncoder.encode(String.valueOf(getUserStatus()), StandardCharsets.UTF_8).replaceAll("\\+", "%20"))); + } + + return joiner.toString(); + } }