forked from loafle/openapi-generator-original
Add containerTypeMapped (#15881)
* add containerTypeMapped * update samples * update java inflector sample
This commit is contained in:
@@ -55,6 +55,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
public boolean isNullable;
|
||||
public boolean isDeprecated;
|
||||
public String containerType;
|
||||
public String containerTypeMapped; // language-specified container type (e.g. `dict` in python for map)
|
||||
|
||||
private CodegenProperty schema;
|
||||
private boolean additionalPropertiesIsAnyType;
|
||||
@@ -143,6 +144,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
output.unescapedDescription = this.unescapedDescription;
|
||||
output.baseType = this.baseType;
|
||||
output.containerType = this.containerType;
|
||||
output.containerTypeMapped = this.containerTypeMapped;
|
||||
output.isFormParam = this.isFormParam;
|
||||
output.isQueryParam = this.isQueryParam;
|
||||
output.isPathParam = this.isPathParam;
|
||||
@@ -257,7 +259,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, isContainer, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, containerType, defaultValue, enumDefaultValue, enumName, style, isDeepObject, isAllowEmptyValue, example, examples, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isPassword, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, isEnumRef, _enum, allowableValues, items, mostInnerItems, additionalProperties, vars, requiredVars, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, isDeprecated, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf, isNull, isVoid, additionalPropertiesIsAnyType, hasVars, hasRequired, isShort, isUnboundedInteger, hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, schema, content, requiredVarsMap, ref, uniqueItemsBoolean, schemaIsFromAdditionalProperties);
|
||||
return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, isContainer, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, containerType, containerTypeMapped, defaultValue, enumDefaultValue, enumName, style, isDeepObject, isAllowEmptyValue, example, examples, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isPassword, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, isEnumRef, _enum, allowableValues, items, mostInnerItems, additionalProperties, vars, requiredVars, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, isDeprecated, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf, isNull, isVoid, additionalPropertiesIsAnyType, hasVars, hasRequired, isShort, isUnboundedInteger, hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, schema, content, requiredVarsMap, ref, uniqueItemsBoolean, schemaIsFromAdditionalProperties);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -333,6 +335,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
Objects.equals(unescapedDescription, that.unescapedDescription) &&
|
||||
Objects.equals(baseType, that.baseType) &&
|
||||
Objects.equals(containerType, that.containerType) &&
|
||||
Objects.equals(containerTypeMapped, that.containerTypeMapped) &&
|
||||
Objects.equals(defaultValue, that.defaultValue) &&
|
||||
Objects.equals(enumDefaultValue, that.enumDefaultValue) &&
|
||||
Objects.equals(enumName, that.enumName) &&
|
||||
@@ -396,6 +399,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
sb.append(", unescapedDescription='").append(unescapedDescription).append('\'');
|
||||
sb.append(", baseType='").append(baseType).append('\'');
|
||||
sb.append(", containerType='").append(containerType).append('\'');
|
||||
sb.append(", containerTypeMapped='").append(containerTypeMapped).append('\'');
|
||||
sb.append(", defaultValue='").append(defaultValue).append('\'');
|
||||
sb.append(", enumDefaultValue='").append(enumDefaultValue).append('\'');
|
||||
sb.append(", enumName='").append(enumName).append('\'');
|
||||
|
||||
@@ -50,6 +50,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
public String defaultValueWithParam;
|
||||
public String baseType;
|
||||
public String containerType;
|
||||
public String containerTypeMapped; // language-specified container type (e.g. `dict` in python for map)
|
||||
|
||||
/**
|
||||
* The value of the 'title' attribute in the OpenAPI schema.
|
||||
*/
|
||||
@@ -391,6 +393,15 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
this.containerType = containerType;
|
||||
}
|
||||
|
||||
public String getContainerTypeMapped() {
|
||||
return containerTypeMapped;
|
||||
}
|
||||
|
||||
public void setContainerTypeMapped(String containerTypeMapped) {
|
||||
this.containerTypeMapped = containerTypeMapped;
|
||||
}
|
||||
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
@@ -1034,6 +1045,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
sb.append(", defaultValueWithParam='").append(defaultValueWithParam).append('\'');
|
||||
sb.append(", baseType='").append(baseType).append('\'');
|
||||
sb.append(", containerType='").append(containerType).append('\'');
|
||||
sb.append(", containerTypeMapped='").append(containerTypeMapped).append('\'');
|
||||
sb.append(", title='").append(title).append('\'');
|
||||
sb.append(", unescapedDescription='").append(unescapedDescription).append('\'');
|
||||
sb.append(", maxLength=").append(maxLength);
|
||||
@@ -1217,6 +1229,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
Objects.equals(defaultValueWithParam, that.defaultValueWithParam) &&
|
||||
Objects.equals(baseType, that.baseType) &&
|
||||
Objects.equals(containerType, that.containerType) &&
|
||||
Objects.equals(containerTypeMapped, that.containerTypeMapped) &&
|
||||
Objects.equals(title, that.title) &&
|
||||
Objects.equals(unescapedDescription, that.unescapedDescription) &&
|
||||
Objects.equals(maxLength, that.maxLength) &&
|
||||
@@ -1251,7 +1264,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
|
||||
return Objects.hash(openApiType, baseName, complexType, getter, setter, description,
|
||||
dataType, datatypeWithEnum, dataFormat, name, min, max, defaultValue,
|
||||
defaultValueWithParam, baseType, containerType, title, unescapedDescription,
|
||||
defaultValueWithParam, baseType, containerType, containerTypeMapped, title, unescapedDescription,
|
||||
maxLength, minLength, pattern, example, jsonSchema, minimum, maximum,
|
||||
exclusiveMinimum, exclusiveMaximum, required, deprecated,
|
||||
hasMoreNonReadOnly, isPrimitiveType, isModel, isContainer, isString, isNumeric,
|
||||
|
||||
@@ -33,6 +33,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
public String dataType;
|
||||
public String baseType;
|
||||
public String containerType;
|
||||
public String containerTypeMapped; // language-specified container type (e.g. `dict` in python for map)
|
||||
public boolean hasHeaders;
|
||||
public boolean isString;
|
||||
public boolean isNumeric;
|
||||
@@ -98,7 +99,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(headers, code, message, examples, dataType, baseType, containerType, hasHeaders,
|
||||
return Objects.hash(headers, code, message, examples, dataType, baseType, containerType, containerTypeMapped, hasHeaders,
|
||||
isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBoolean, isDate,
|
||||
isDateTime, isUuid, isEmail, isPassword, isModel, isFreeFormObject, isAnyType, isDefault, simpleType, primitiveType,
|
||||
isMap, isArray, isBinary, isFile, schema, jsonSchema, vendorExtensions, items, additionalProperties,
|
||||
@@ -174,6 +175,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
Objects.equals(dataType, that.dataType) &&
|
||||
Objects.equals(baseType, that.baseType) &&
|
||||
Objects.equals(containerType, that.containerType) &&
|
||||
Objects.equals(containerTypeMapped, that.containerTypeMapped) &&
|
||||
Objects.equals(schema, that.schema) &&
|
||||
Objects.equals(jsonSchema, that.jsonSchema) &&
|
||||
Objects.equals(vendorExtensions, that.vendorExtensions) &&
|
||||
@@ -555,6 +557,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
sb.append(", dataType='").append(dataType).append('\'');
|
||||
sb.append(", baseType='").append(baseType).append('\'');
|
||||
sb.append(", containerType='").append(containerType).append('\'');
|
||||
sb.append(", containerTypeMapped='").append(containerTypeMapped).append('\'');
|
||||
sb.append(", hasHeaders=").append(hasHeaders);
|
||||
sb.append(", isString=").append(isString);
|
||||
sb.append(", isNumeric=").append(isNumeric);
|
||||
|
||||
@@ -3679,6 +3679,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
property.isContainer = true;
|
||||
property.containerType = "map";
|
||||
property.containerTypeMapped = typeMapping.get(property.containerType);
|
||||
// TODO remove this hack in the future, code should use minProperties and maxProperties for object schemas
|
||||
property.minItems = p.getMinProperties();
|
||||
property.maxItems = p.getMaxProperties();
|
||||
@@ -4025,8 +4026,10 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
property.isContainer = true;
|
||||
if (ModelUtils.isSet(p)) {
|
||||
property.containerType = "set";
|
||||
property.containerTypeMapped = typeMapping.get(property.containerType);
|
||||
} else {
|
||||
property.containerType = "array";
|
||||
property.containerTypeMapped = typeMapping.get(property.containerType);
|
||||
}
|
||||
property.baseType = getSchemaType(p);
|
||||
|
||||
@@ -4816,6 +4819,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
r.simpleType = false;
|
||||
r.isArray = true;
|
||||
r.containerType = cp.containerType;
|
||||
r.containerTypeMapped = typeMapping.get(cp.containerType);
|
||||
ArraySchema as = (ArraySchema) responseSchema;
|
||||
CodegenProperty items = fromProperty("response", getSchemaItems(as), false);
|
||||
r.setItems(items);
|
||||
@@ -4877,6 +4881,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
r.simpleType = false;
|
||||
r.containerType = cp.containerType;
|
||||
r.containerTypeMapped = cp.containerTypeMapped;
|
||||
addVarsRequiredVarsAdditionalProps(responseSchema, r);
|
||||
} else if (ModelUtils.isAnyType(responseSchema)) {
|
||||
addVarsRequiredVarsAdditionalProps(responseSchema, r);
|
||||
@@ -5236,6 +5241,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
|
||||
// set containerType
|
||||
codegenParameter.containerType = codegenProperty.containerType;
|
||||
codegenParameter.containerTypeMapped = codegenProperty.containerTypeMapped;
|
||||
|
||||
// enum
|
||||
updateCodegenPropertyEnum(codegenProperty);
|
||||
@@ -5644,15 +5650,13 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
addImport(model, property.complexType);
|
||||
model.parent = toInstantiationType(schema);
|
||||
if (!addSchemaImportsFromV3SpecLocations) {
|
||||
final String containerType = property.containerType;
|
||||
final String instantiationType = instantiationTypes.get(containerType);
|
||||
final String instantiationType = instantiationTypes.get(property.containerType);
|
||||
if (instantiationType != null) {
|
||||
addImport(model, instantiationType);
|
||||
}
|
||||
|
||||
final String mappedType = typeMapping.get(containerType);
|
||||
if (mappedType != null) {
|
||||
addImport(model, mappedType);
|
||||
if (property.containerTypeMapped != null) {
|
||||
addImport(model, property.containerTypeMapped);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7041,6 +7045,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
codegenParameter.unescapedDescription = codegenProperty.getDescription();
|
||||
codegenParameter.jsonSchema = Json.pretty(propertySchema);
|
||||
codegenParameter.containerType = codegenProperty.containerType;
|
||||
codegenParameter.containerTypeMapped = codegenProperty.containerTypeMapped;
|
||||
|
||||
if (codegenProperty.getVendorExtensions() != null && !codegenProperty.getVendorExtensions().isEmpty()) {
|
||||
codegenParameter.vendorExtensions = codegenProperty.getVendorExtensions();
|
||||
@@ -7195,6 +7200,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
codegenParameter.isMap = Boolean.TRUE;
|
||||
codegenParameter.isNullable = codegenProperty.isNullable;
|
||||
codegenParameter.containerType = codegenProperty.containerType;
|
||||
codegenParameter.containerTypeMapped = codegenProperty.containerTypeMapped;
|
||||
|
||||
// set nullable
|
||||
setParameterNullable(codegenParameter, codegenProperty);
|
||||
@@ -7305,6 +7311,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
codegenParameter.isContainer = Boolean.TRUE;
|
||||
codegenParameter.isNullable = codegenProperty.isNullable;
|
||||
codegenParameter.containerType = codegenProperty.containerType;
|
||||
codegenParameter.containerTypeMapped = codegenProperty.containerTypeMapped;
|
||||
|
||||
// set nullable
|
||||
setParameterNullable(codegenParameter, codegenProperty);
|
||||
|
||||
@@ -460,12 +460,15 @@ public class PythonClientCodegenTest {
|
||||
op = codegen.fromOperation(path, "post", p, null);
|
||||
Assert.assertEquals(op.allParams.get(0).baseName, "User");
|
||||
Assert.assertEquals(op.allParams.get(0).containerType, "array");
|
||||
Assert.assertEquals(op.allParams.get(0).containerTypeMapped, "List");
|
||||
|
||||
path = "/pet";
|
||||
p = openAPI.getPaths().get(path).getPost();
|
||||
op = codegen.fromOperation(path, "post", p, null);
|
||||
Assert.assertEquals(op.allParams.get(0).baseName, "Pet");
|
||||
Assert.assertEquals(op.allParams.get(0).containerType, null);
|
||||
Assert.assertEquals(op.allParams.get(0).containerTypeMapped, null);
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "test containerType (dict) in parameters")
|
||||
@@ -478,6 +481,7 @@ public class PythonClientCodegenTest {
|
||||
Operation p = openAPI.getPaths().get(path).getGet();
|
||||
CodegenOperation op = codegen.fromOperation(path, "get", p, null);
|
||||
Assert.assertEquals(op.allParams.get(0).containerType, "map");
|
||||
Assert.assertEquals(op.allParams.get(0).containerTypeMapped, "Dict");
|
||||
Assert.assertEquals(op.allParams.get(0).baseName, "dict_string_integer");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,15 +15,12 @@ src/gen/java/org/openapitools/model/ArrayOfArrayOfNumberOnly.java
|
||||
src/gen/java/org/openapitools/model/ArrayOfNumberOnly.java
|
||||
src/gen/java/org/openapitools/model/ArrayTest.java
|
||||
src/gen/java/org/openapitools/model/BigCat.java
|
||||
src/gen/java/org/openapitools/model/BigCatAllOf.java
|
||||
src/gen/java/org/openapitools/model/Capitalization.java
|
||||
src/gen/java/org/openapitools/model/Cat.java
|
||||
src/gen/java/org/openapitools/model/CatAllOf.java
|
||||
src/gen/java/org/openapitools/model/Category.java
|
||||
src/gen/java/org/openapitools/model/ClassModel.java
|
||||
src/gen/java/org/openapitools/model/Client.java
|
||||
src/gen/java/org/openapitools/model/Dog.java
|
||||
src/gen/java/org/openapitools/model/DogAllOf.java
|
||||
src/gen/java/org/openapitools/model/EnumArrays.java
|
||||
src/gen/java/org/openapitools/model/EnumClass.java
|
||||
src/gen/java/org/openapitools/model/EnumTest.java
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.0.0-SNAPSHOT
|
||||
7.0.0-SNAPSHOT
|
||||
@@ -17,15 +17,12 @@ ArrayOfArrayOfNumberOnly : org.openapitools.model.ArrayOfArrayOfNumberOnly
|
||||
ArrayOfNumberOnly : org.openapitools.model.ArrayOfNumberOnly
|
||||
ArrayTest : org.openapitools.model.ArrayTest
|
||||
BigCat : org.openapitools.model.BigCat
|
||||
BigCatAllOf : org.openapitools.model.BigCatAllOf
|
||||
Capitalization : org.openapitools.model.Capitalization
|
||||
Cat : org.openapitools.model.Cat
|
||||
CatAllOf : org.openapitools.model.CatAllOf
|
||||
Category : org.openapitools.model.Category
|
||||
ClassModel : org.openapitools.model.ClassModel
|
||||
Client : org.openapitools.model.Client
|
||||
Dog : org.openapitools.model.Dog
|
||||
DogAllOf : org.openapitools.model.DogAllOf
|
||||
EnumArrays : org.openapitools.model.EnumArrays
|
||||
EnumClass : org.openapitools.model.EnumClass
|
||||
EnumTest : org.openapitools.model.EnumTest
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.openapitools.model;
|
||||
|
||||
import java.util.Objects;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.BigCatAllOf;
|
||||
import org.openapitools.model.Cat;
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.CatAllOf;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.openapitools.model.Animal;
|
||||
import org.openapitools.model.DogAllOf;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import org.openapitools.model.Animal;
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.openapitools.model;
|
||||
import java.util.Objects;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ paths:
|
||||
tags:
|
||||
- pet
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
put:
|
||||
operationId: updatePet
|
||||
@@ -81,7 +81,7 @@ paths:
|
||||
tags:
|
||||
- pet
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/pet/findByStatus:
|
||||
get:
|
||||
@@ -250,13 +250,7 @@ paths:
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
properties:
|
||||
name:
|
||||
description: Updated name of the pet
|
||||
type: string
|
||||
status:
|
||||
description: Updated status of the pet
|
||||
type: string
|
||||
$ref: '#/components/schemas/updatePetWithForm_request'
|
||||
responses:
|
||||
"405":
|
||||
content: {}
|
||||
@@ -268,7 +262,7 @@ paths:
|
||||
summary: Updates a pet in the store with form data
|
||||
tags:
|
||||
- pet
|
||||
x-contentType: application/x-www-form-urlencoded
|
||||
x-content-type: application/x-www-form-urlencoded
|
||||
x-accepts: application/json
|
||||
/pet/{petId}/uploadImage:
|
||||
post:
|
||||
@@ -285,14 +279,7 @@ paths:
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
properties:
|
||||
additionalMetadata:
|
||||
description: Additional data to pass to server
|
||||
type: string
|
||||
file:
|
||||
description: file to upload
|
||||
format: binary
|
||||
type: string
|
||||
$ref: '#/components/schemas/uploadFile_request'
|
||||
responses:
|
||||
"200":
|
||||
content:
|
||||
@@ -307,7 +294,7 @@ paths:
|
||||
summary: uploads an image
|
||||
tags:
|
||||
- pet
|
||||
x-contentType: multipart/form-data
|
||||
x-content-type: multipart/form-data
|
||||
x-accepts: application/json
|
||||
/store/inventory:
|
||||
get:
|
||||
@@ -356,7 +343,7 @@ paths:
|
||||
tags:
|
||||
- store
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: application/json
|
||||
/store/order/{order_id}:
|
||||
delete:
|
||||
@@ -434,7 +421,7 @@ paths:
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: application/json
|
||||
/user/createWithArray:
|
||||
post:
|
||||
@@ -456,7 +443,7 @@ paths:
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: application/json
|
||||
/user/createWithList:
|
||||
post:
|
||||
@@ -478,7 +465,7 @@ paths:
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: application/json
|
||||
/user/login:
|
||||
get:
|
||||
@@ -614,7 +601,7 @@ paths:
|
||||
tags:
|
||||
- user
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: application/json
|
||||
/fake_classname_test:
|
||||
patch:
|
||||
@@ -640,7 +627,7 @@ paths:
|
||||
tags:
|
||||
- fake_classname_tags 123#$%^
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/fake:
|
||||
delete:
|
||||
@@ -763,24 +750,7 @@ paths:
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
properties:
|
||||
enum_form_string_array:
|
||||
description: Form parameter enum test (string array)
|
||||
items:
|
||||
default: $
|
||||
enum:
|
||||
- '>'
|
||||
- $
|
||||
type: string
|
||||
type: array
|
||||
enum_form_string:
|
||||
default: -efg
|
||||
description: Form parameter enum test (string)
|
||||
enum:
|
||||
- _abc
|
||||
- -efg
|
||||
- (xyz)
|
||||
type: string
|
||||
$ref: '#/components/schemas/testEnumParameters_request'
|
||||
responses:
|
||||
"400":
|
||||
content: {}
|
||||
@@ -791,7 +761,7 @@ paths:
|
||||
summary: To test enum parameters
|
||||
tags:
|
||||
- fake
|
||||
x-contentType: application/x-www-form-urlencoded
|
||||
x-content-type: application/x-www-form-urlencoded
|
||||
x-accepts: application/json
|
||||
patch:
|
||||
description: To test "client" model
|
||||
@@ -814,7 +784,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
post:
|
||||
description: |-
|
||||
@@ -827,77 +797,7 @@ paths:
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
properties:
|
||||
integer:
|
||||
description: None
|
||||
format: int32
|
||||
maximum: 100
|
||||
minimum: 10
|
||||
type: integer
|
||||
int32:
|
||||
description: None
|
||||
format: int32
|
||||
maximum: 200
|
||||
minimum: 20
|
||||
type: integer
|
||||
int64:
|
||||
description: None
|
||||
format: int64
|
||||
type: integer
|
||||
number:
|
||||
description: None
|
||||
maximum: 543.2
|
||||
minimum: 32.1
|
||||
type: number
|
||||
float:
|
||||
description: None
|
||||
format: float
|
||||
maximum: 987.6
|
||||
type: number
|
||||
double:
|
||||
description: None
|
||||
format: double
|
||||
maximum: 123.4
|
||||
minimum: 67.8
|
||||
type: number
|
||||
string:
|
||||
description: None
|
||||
pattern: "/[a-z]/i"
|
||||
type: string
|
||||
pattern_without_delimiter:
|
||||
description: None
|
||||
pattern: "^[A-Z].*"
|
||||
type: string
|
||||
byte:
|
||||
description: None
|
||||
format: byte
|
||||
type: string
|
||||
binary:
|
||||
description: None
|
||||
format: binary
|
||||
type: string
|
||||
date:
|
||||
description: None
|
||||
format: date
|
||||
type: string
|
||||
dateTime:
|
||||
description: None
|
||||
format: date-time
|
||||
type: string
|
||||
password:
|
||||
description: None
|
||||
format: password
|
||||
maxLength: 64
|
||||
minLength: 10
|
||||
type: string
|
||||
callback:
|
||||
description: None
|
||||
type: string
|
||||
required:
|
||||
- byte
|
||||
- double
|
||||
- number
|
||||
- pattern_without_delimiter
|
||||
$ref: '#/components/schemas/testEndpointParameters_request'
|
||||
required: true
|
||||
responses:
|
||||
"400":
|
||||
@@ -915,7 +815,7 @@ paths:
|
||||
가짜 엔드 포인트
|
||||
tags:
|
||||
- fake
|
||||
x-contentType: application/x-www-form-urlencoded
|
||||
x-content-type: application/x-www-form-urlencoded
|
||||
x-accepts: application/json
|
||||
/fake/outer/number:
|
||||
post:
|
||||
@@ -938,7 +838,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: '*/*'
|
||||
/fake/outer/string:
|
||||
post:
|
||||
@@ -961,7 +861,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: '*/*'
|
||||
/fake/outer/boolean:
|
||||
post:
|
||||
@@ -984,7 +884,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: '*/*'
|
||||
/fake/outer/composite:
|
||||
post:
|
||||
@@ -1007,7 +907,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: '*/*'
|
||||
x-content-type: '*/*'
|
||||
x-accepts: '*/*'
|
||||
/fake/jsonFormData:
|
||||
get:
|
||||
@@ -1016,16 +916,7 @@ paths:
|
||||
content:
|
||||
application/x-www-form-urlencoded:
|
||||
schema:
|
||||
properties:
|
||||
param:
|
||||
description: field1
|
||||
type: string
|
||||
param2:
|
||||
description: field2
|
||||
type: string
|
||||
required:
|
||||
- param
|
||||
- param2
|
||||
$ref: '#/components/schemas/testJsonFormData_request'
|
||||
required: true
|
||||
responses:
|
||||
"200":
|
||||
@@ -1034,7 +925,7 @@ paths:
|
||||
summary: test json serialization of form data
|
||||
tags:
|
||||
- fake
|
||||
x-contentType: application/x-www-form-urlencoded
|
||||
x-content-type: application/x-www-form-urlencoded
|
||||
x-accepts: application/json
|
||||
/fake/inline-additionalProperties:
|
||||
post:
|
||||
@@ -1056,7 +947,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: param
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/fake/body-with-query-params:
|
||||
put:
|
||||
@@ -1080,7 +971,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/fake/create_xml_item:
|
||||
post:
|
||||
@@ -1116,7 +1007,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: XmlItem
|
||||
x-contentType: application/xml
|
||||
x-content-type: application/xml
|
||||
x-accepts: application/json
|
||||
/another-fake/dummy:
|
||||
patch:
|
||||
@@ -1140,7 +1031,7 @@ paths:
|
||||
tags:
|
||||
- $another-fake?
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/fake/body-with-file-schema:
|
||||
put:
|
||||
@@ -1160,7 +1051,7 @@ paths:
|
||||
tags:
|
||||
- fake
|
||||
x-codegen-request-body-name: body
|
||||
x-contentType: application/json
|
||||
x-content-type: application/json
|
||||
x-accepts: application/json
|
||||
/fake/test-query-parameters:
|
||||
put:
|
||||
@@ -1231,16 +1122,7 @@ paths:
|
||||
content:
|
||||
multipart/form-data:
|
||||
schema:
|
||||
properties:
|
||||
additionalMetadata:
|
||||
description: Additional data to pass to server
|
||||
type: string
|
||||
requiredFile:
|
||||
description: file to upload
|
||||
format: binary
|
||||
type: string
|
||||
required:
|
||||
- requiredFile
|
||||
$ref: '#/components/schemas/uploadFileWithRequiredFile_request'
|
||||
required: true
|
||||
responses:
|
||||
"200":
|
||||
@@ -1256,7 +1138,7 @@ paths:
|
||||
summary: uploads an image (required)
|
||||
tags:
|
||||
- pet
|
||||
x-contentType: multipart/form-data
|
||||
x-content-type: multipart/form-data
|
||||
x-accepts: application/json
|
||||
components:
|
||||
schemas:
|
||||
@@ -1482,15 +1364,29 @@ components:
|
||||
Dog:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Animal'
|
||||
- $ref: '#/components/schemas/Dog_allOf'
|
||||
- properties:
|
||||
breed:
|
||||
type: string
|
||||
type: object
|
||||
Cat:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Animal'
|
||||
- $ref: '#/components/schemas/Cat_allOf'
|
||||
- properties:
|
||||
declawed:
|
||||
type: boolean
|
||||
type: object
|
||||
BigCat:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/Cat'
|
||||
- $ref: '#/components/schemas/BigCat_allOf'
|
||||
- properties:
|
||||
kind:
|
||||
enum:
|
||||
- lions
|
||||
- tigers
|
||||
- leopards
|
||||
- jaguars
|
||||
type: string
|
||||
type: object
|
||||
Animal:
|
||||
discriminator:
|
||||
propertyName: className
|
||||
@@ -2147,26 +2043,142 @@ components:
|
||||
xml:
|
||||
namespace: http://a.com/schema
|
||||
prefix: pre
|
||||
Dog_allOf:
|
||||
updatePetWithForm_request:
|
||||
properties:
|
||||
breed:
|
||||
name:
|
||||
description: Updated name of the pet
|
||||
type: string
|
||||
status:
|
||||
description: Updated status of the pet
|
||||
type: string
|
||||
type: object
|
||||
Cat_allOf:
|
||||
uploadFile_request:
|
||||
properties:
|
||||
declawed:
|
||||
type: boolean
|
||||
additionalMetadata:
|
||||
description: Additional data to pass to server
|
||||
type: string
|
||||
file:
|
||||
description: file to upload
|
||||
format: binary
|
||||
type: string
|
||||
type: object
|
||||
BigCat_allOf:
|
||||
testEnumParameters_request:
|
||||
properties:
|
||||
kind:
|
||||
enum_form_string_array:
|
||||
description: Form parameter enum test (string array)
|
||||
items:
|
||||
default: $
|
||||
enum:
|
||||
- '>'
|
||||
- $
|
||||
type: string
|
||||
type: array
|
||||
enum_form_string:
|
||||
default: -efg
|
||||
description: Form parameter enum test (string)
|
||||
enum:
|
||||
- lions
|
||||
- tigers
|
||||
- leopards
|
||||
- jaguars
|
||||
- _abc
|
||||
- -efg
|
||||
- (xyz)
|
||||
type: string
|
||||
type: object
|
||||
testEndpointParameters_request:
|
||||
properties:
|
||||
integer:
|
||||
description: None
|
||||
format: int32
|
||||
maximum: 100
|
||||
minimum: 10
|
||||
type: integer
|
||||
int32:
|
||||
description: None
|
||||
format: int32
|
||||
maximum: 200
|
||||
minimum: 20
|
||||
type: integer
|
||||
int64:
|
||||
description: None
|
||||
format: int64
|
||||
type: integer
|
||||
number:
|
||||
description: None
|
||||
maximum: 543.2
|
||||
minimum: 32.1
|
||||
type: number
|
||||
float:
|
||||
description: None
|
||||
format: float
|
||||
maximum: 987.6
|
||||
type: number
|
||||
double:
|
||||
description: None
|
||||
format: double
|
||||
maximum: 123.4
|
||||
minimum: 67.8
|
||||
type: number
|
||||
string:
|
||||
description: None
|
||||
pattern: "/[a-z]/i"
|
||||
type: string
|
||||
pattern_without_delimiter:
|
||||
description: None
|
||||
pattern: "^[A-Z].*"
|
||||
type: string
|
||||
byte:
|
||||
description: None
|
||||
format: byte
|
||||
type: string
|
||||
binary:
|
||||
description: None
|
||||
format: binary
|
||||
type: string
|
||||
date:
|
||||
description: None
|
||||
format: date
|
||||
type: string
|
||||
dateTime:
|
||||
description: None
|
||||
format: date-time
|
||||
type: string
|
||||
password:
|
||||
description: None
|
||||
format: password
|
||||
maxLength: 64
|
||||
minLength: 10
|
||||
type: string
|
||||
callback:
|
||||
description: None
|
||||
type: string
|
||||
required:
|
||||
- byte
|
||||
- double
|
||||
- number
|
||||
- pattern_without_delimiter
|
||||
type: object
|
||||
testJsonFormData_request:
|
||||
properties:
|
||||
param:
|
||||
description: field1
|
||||
type: string
|
||||
param2:
|
||||
description: field2
|
||||
type: string
|
||||
required:
|
||||
- param
|
||||
- param2
|
||||
type: object
|
||||
uploadFileWithRequiredFile_request:
|
||||
properties:
|
||||
additionalMetadata:
|
||||
description: Additional data to pass to server
|
||||
type: string
|
||||
requiredFile:
|
||||
description: file to upload
|
||||
format: binary
|
||||
type: string
|
||||
required:
|
||||
- requiredFile
|
||||
type: object
|
||||
securitySchemes:
|
||||
petstore_auth:
|
||||
flows:
|
||||
|
||||
@@ -536,10 +536,10 @@ public interface PathHandlerInterface {
|
||||
* </p>
|
||||
* </li>
|
||||
* </ul>
|
||||
* <p><b>Response headers</b>: [CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', title='null', unescapedDescription='calls per hour allowed by the user', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
|
||||
* <p><b>Response headers</b>: [CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='calls per hour allowed by the user', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
|
||||
"type" : "integer",
|
||||
"format" : "int32"
|
||||
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32, dependentRequired=null, contains=null}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', title='null', unescapedDescription='date in UTC when token expires', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
|
||||
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32, dependentRequired=null, contains=null}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', containerTypeMapped='null', title='null', unescapedDescription='date in UTC when token expires', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
|
||||
"type" : "string",
|
||||
"format" : "date-time"
|
||||
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=false, isModel=false, isContainer=false, isString=false, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=true, isUuid=false, isUri=false, isEmail=false, isPassword=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isEnumRef=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, isNew=false, isOverridden=null, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XExpiresAfter', nameInSnakeCase='X_EXPIRES_AFTER', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, isVoid=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=date-time, dependentRequired=null, contains=null}]</p>
|
||||
|
||||
Reference in New Issue
Block a user