forked from loafle/openapi-generator-original
Adds $ref data to schema classes (#13163)
* Adds getRef/setRef * Adds ref to CodegenModel * Adds ref to CodegenProperty * Adds ref to CodegenParameter * Adds ref to CodegenResponse * Sets ref on CodegenModel and CodegenProperty * Samples regenerated
This commit is contained in:
parent
7fede83a56
commit
8cd0d38446
@ -165,6 +165,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
private boolean isAnyType;
|
||||
private boolean isUuid;
|
||||
private Map<String, CodegenProperty> requiredVarsMap;
|
||||
private String ref;
|
||||
|
||||
public String getAdditionalPropertiesType() {
|
||||
return additionalPropertiesType;
|
||||
@ -174,6 +175,16 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
this.additionalPropertiesType = additionalPropertiesType;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return ref;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
this.ref = ref;
|
||||
}
|
||||
|
||||
public Set<String> getAllMandatory() {
|
||||
return allMandatory;
|
||||
}
|
||||
@ -929,6 +940,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
getUniqueItems() == that.getUniqueItems() &&
|
||||
getExclusiveMinimum() == that.getExclusiveMinimum() &&
|
||||
getExclusiveMaximum() == that.getExclusiveMaximum() &&
|
||||
Objects.equals(ref, that.getRef()) &&
|
||||
Objects.equals(requiredVarsMap, that.getRequiredVarsMap()) &&
|
||||
Objects.equals(composedSchemas, that.composedSchemas) &&
|
||||
Objects.equals(parent, that.parent) &&
|
||||
@ -1002,7 +1014,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
getMinItems(), getMaxLength(), getMinLength(), getExclusiveMinimum(), getExclusiveMaximum(), getMinimum(),
|
||||
getMaximum(), getPattern(), getMultipleOf(), getItems(), getAdditionalProperties(), getIsModel(),
|
||||
getAdditionalPropertiesIsAnyType(), hasDiscriminatorWithNonEmptyMapping,
|
||||
isAnyType, getComposedSchemas(), hasMultipleTypes, isDecimal, isUuid, requiredVarsMap);
|
||||
isAnyType, getComposedSchemas(), hasMultipleTypes, isDecimal, isUuid, requiredVarsMap, ref);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1100,6 +1112,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
|
||||
sb.append(", isDecimal=").append(isDecimal);
|
||||
sb.append(", isUUID=").append(isUuid);
|
||||
sb.append(", requiredVarsMap=").append(requiredVarsMap);
|
||||
sb.append(", ref=").append(ref);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
|
@ -112,6 +112,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
private boolean hasMultipleTypes = false;
|
||||
private LinkedHashMap<String, CodegenMediaType> content;
|
||||
private Map<String, CodegenProperty> requiredVarsMap;
|
||||
private String ref;
|
||||
|
||||
public CodegenParameter copy() {
|
||||
CodegenParameter output = new CodegenParameter();
|
||||
@ -198,6 +199,9 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
if (this.requiredVarsMap != null) {
|
||||
output.setRequiredVarsMap(this.requiredVarsMap);
|
||||
}
|
||||
if (this.ref != null) {
|
||||
output.setRef(this.ref);
|
||||
}
|
||||
output.hasValidation = this.hasValidation;
|
||||
output.isNullable = this.isNullable;
|
||||
output.isDeprecated = this.isDeprecated;
|
||||
@ -234,7 +238,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, defaultValue, enumName, style, isDeepObject, isAllowEmptyValue, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _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, additionalPropertiesIsAnyType, hasVars, hasRequired, isShort, isUnboundedInteger, hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, schema, content, requiredVarsMap);
|
||||
return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, isContainer, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style, isDeepObject, isAllowEmptyValue, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _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, additionalPropertiesIsAnyType, hasVars, hasRequired, isShort, isUnboundedInteger, hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, schema, content, requiredVarsMap, ref);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -290,6 +294,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
getExclusiveMaximum() == that.getExclusiveMaximum() &&
|
||||
getExclusiveMinimum() == that.getExclusiveMinimum() &&
|
||||
getUniqueItems() == that.getUniqueItems() &&
|
||||
Objects.equals(ref, that.getRef()) &&
|
||||
Objects.equals(requiredVarsMap, that.getRequiredVarsMap()) &&
|
||||
Objects.equals(content, that.getContent()) &&
|
||||
Objects.equals(schema, that.getSchema()) &&
|
||||
@ -421,6 +426,7 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
sb.append(", schema=").append(schema);
|
||||
sb.append(", content=").append(content);
|
||||
sb.append(", requiredVarsMap=").append(requiredVarsMap);
|
||||
sb.append(", ref=").append(ref);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
@ -827,5 +833,11 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
|
||||
|
||||
@Override
|
||||
public void setRequiredVarsMap(Map<String, CodegenProperty> requiredVarsMap) { this.requiredVarsMap=requiredVarsMap; }
|
||||
|
||||
@Override
|
||||
public String getRef() { return ref; }
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) { this.ref=ref; }
|
||||
}
|
||||
|
||||
|
@ -195,6 +195,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
private CodegenComposedSchemas composedSchemas = null;
|
||||
private boolean hasMultipleTypes = false;
|
||||
private Map<String, CodegenProperty> requiredVarsMap;
|
||||
private String ref;
|
||||
|
||||
public String getBaseName() {
|
||||
return baseName;
|
||||
@ -660,6 +661,16 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
return composedSchemas;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) {
|
||||
this.ref = ref;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRef() {
|
||||
return ref;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CodegenProperty clone() {
|
||||
try {
|
||||
@ -694,6 +705,9 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
if (this.requiredVarsMap != null) {
|
||||
cp.setRequiredVarsMap(this.requiredVarsMap);
|
||||
}
|
||||
if (this.ref != null) {
|
||||
cp.setRef(this.ref);
|
||||
}
|
||||
|
||||
return cp;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
@ -977,6 +991,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
sb.append(", composedSchemas=").append(composedSchemas);
|
||||
sb.append(", hasMultipleTypes=").append(hasMultipleTypes);
|
||||
sb.append(", requiredVarsMap=").append(requiredVarsMap);
|
||||
sb.append(", ref=").append(ref);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
@ -1035,6 +1050,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
getAdditionalPropertiesIsAnyType() == that.getAdditionalPropertiesIsAnyType() &&
|
||||
getHasVars() == that.getHasVars() &&
|
||||
getHasRequired() == that.getHasRequired() &&
|
||||
Objects.equals(ref, that.getRef()) &&
|
||||
Objects.equals(requiredVarsMap, that.getRequiredVarsMap()) &&
|
||||
Objects.equals(composedSchemas, that.composedSchemas) &&
|
||||
Objects.equals(openApiType, that.openApiType) &&
|
||||
@ -1099,6 +1115,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
|
||||
vendorExtensions, hasValidation, isInherited, discriminatorValue, nameInCamelCase,
|
||||
nameInSnakeCase, enumName, maxItems, minItems, isXmlAttribute, xmlPrefix, xmlName,
|
||||
xmlNamespace, isXmlWrapped, isNull, additionalPropertiesIsAnyType, hasVars, hasRequired,
|
||||
hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, requiredVarsMap);
|
||||
hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, requiredVarsMap,
|
||||
ref);
|
||||
}
|
||||
}
|
||||
|
@ -90,6 +90,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
private boolean hasMultipleTypes = false;
|
||||
private LinkedHashMap<String, CodegenMediaType> content;
|
||||
private Map<String, CodegenProperty> requiredVarsMap;
|
||||
private String ref;
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
@ -102,7 +103,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
getMinLength(), exclusiveMinimum, exclusiveMaximum, getMinimum(), getMaximum(), getPattern(),
|
||||
is1xx, is2xx, is3xx, is4xx, is5xx, additionalPropertiesIsAnyType, hasVars, hasRequired,
|
||||
hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, responseHeaders, content,
|
||||
requiredVarsMap);
|
||||
requiredVarsMap, ref);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -151,6 +152,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
getAdditionalPropertiesIsAnyType() == that.getAdditionalPropertiesIsAnyType() &&
|
||||
getHasVars() == that.getHasVars() &&
|
||||
getHasRequired() == that.getHasRequired() &&
|
||||
Objects.equals(ref, that.getRef()) &&
|
||||
Objects.equals(requiredVarsMap, that.getRequiredVarsMap()) &&
|
||||
Objects.equals(content, that.getContent()) &&
|
||||
Objects.equals(responseHeaders, that.getResponseHeaders()) &&
|
||||
@ -542,6 +544,7 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
sb.append(", responseHeaders=").append(responseHeaders);
|
||||
sb.append(", content=").append(content);
|
||||
sb.append(", requiredVarsMap=").append(requiredVarsMap);
|
||||
sb.append(", ref=").append(ref);
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
@ -675,4 +678,10 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
|
||||
|
||||
@Override
|
||||
public void setRequiredVarsMap(Map<String, CodegenProperty> requiredVarsMap) { this.requiredVarsMap=requiredVarsMap; }
|
||||
|
||||
@Override
|
||||
public String getRef() { return ref; }
|
||||
|
||||
@Override
|
||||
public void setRef(String ref) { this.ref=ref; }
|
||||
}
|
||||
|
@ -2892,6 +2892,9 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
// schema by unaliasSchema and one of the above code paths will be taken
|
||||
;
|
||||
}
|
||||
if (schema.get$ref() != null) {
|
||||
m.setRef(schema.get$ref());
|
||||
}
|
||||
|
||||
if (schema instanceof ComposedSchema) {
|
||||
updateModelForComposedSchema(m, schema, allDefinitions);
|
||||
@ -3763,6 +3766,9 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
// referenced model
|
||||
;
|
||||
}
|
||||
if (p.get$ref() != null) {
|
||||
property.setRef(p.get$ref());
|
||||
}
|
||||
|
||||
boolean isAnyTypeWithNothingElseSet = (ModelUtils.isAnyType(p) &&
|
||||
(p.getProperties() == null || p.getProperties().isEmpty()) &&
|
||||
|
@ -165,6 +165,10 @@ public interface IJsonSchemaValidationProperties {
|
||||
|
||||
void setIsAnyType(boolean isAnyType);
|
||||
|
||||
String getRef();
|
||||
|
||||
void setRef(String ref);
|
||||
|
||||
CodegenComposedSchemas getComposedSchemas();
|
||||
|
||||
void setComposedSchemas(CodegenComposedSchemas composedSchemas);
|
||||
|
@ -1626,6 +1626,10 @@ public class ModelUtils {
|
||||
* @return boolean
|
||||
*/
|
||||
public static boolean isAnyType(Schema schema) {
|
||||
// $ref is not a type, it is a keyword
|
||||
// TODO remove the ref check here, or pass in the spec version
|
||||
// openapi 3.1.0 specs allow ref to be adjacent to any keyword
|
||||
// openapi 3.0.3 and earlier do not allow adjacent keywords to refs
|
||||
return (schema.get$ref() == null && schema.getType() == null);
|
||||
}
|
||||
|
||||
|
@ -539,10 +539,10 @@ public interface PathHandlerInterface {
|
||||
* <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='{
|
||||
"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, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _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, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=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, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _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, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=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='{
|
||||
"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, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _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, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null}]</p>
|
||||
}', 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, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _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, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null}]</p>
|
||||
*
|
||||
* <p><b>Produces</b>: [{mediaType=application/xml}, {mediaType=application/json}]</p>
|
||||
* <p><b>Returns</b>: {@link String}</p>
|
||||
|
Loading…
x
Reference in New Issue
Block a user