mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-07-04 14:40:53 +00:00
Fix maximum, minimum for Integer
(#4335)
* fix int/long max, min value (removing decimal) * fix integer min/max in parameter
This commit is contained in:
parent
f781f1df5b
commit
162352cb4b
@ -32,7 +32,7 @@ public class CodegenParameter {
|
|||||||
/**
|
/**
|
||||||
* See http://json-schema.org/latest/json-schema-validation.html#anchor17.
|
* See http://json-schema.org/latest/json-schema-validation.html#anchor17.
|
||||||
*/
|
*/
|
||||||
public Number maximum;
|
public String maximum;
|
||||||
/**
|
/**
|
||||||
* See http://json-schema.org/latest/json-schema-validation.html#anchor17
|
* See http://json-schema.org/latest/json-schema-validation.html#anchor17
|
||||||
*/
|
*/
|
||||||
@ -40,7 +40,7 @@ public class CodegenParameter {
|
|||||||
/**
|
/**
|
||||||
* See http://json-schema.org/latest/json-schema-validation.html#anchor21
|
* See http://json-schema.org/latest/json-schema-validation.html#anchor21
|
||||||
*/
|
*/
|
||||||
public Number minimum;
|
public String minimum;
|
||||||
/**
|
/**
|
||||||
* See http://json-schema.org/latest/json-schema-validation.html#anchor21
|
* See http://json-schema.org/latest/json-schema-validation.html#anchor21
|
||||||
*/
|
*/
|
||||||
|
@ -30,8 +30,8 @@ public class CodegenProperty implements Cloneable {
|
|||||||
public String example;
|
public String example;
|
||||||
|
|
||||||
public String jsonSchema;
|
public String jsonSchema;
|
||||||
public Double minimum;
|
public String minimum;
|
||||||
public Double maximum;
|
public String maximum;
|
||||||
public Boolean exclusiveMinimum;
|
public Boolean exclusiveMinimum;
|
||||||
public Boolean exclusiveMaximum;
|
public Boolean exclusiveMaximum;
|
||||||
public Boolean hasMore, required, secondaryParam;
|
public Boolean hasMore, required, secondaryParam;
|
||||||
|
@ -1444,8 +1444,28 @@ public class DefaultCodegen {
|
|||||||
String type = getSwaggerType(p);
|
String type = getSwaggerType(p);
|
||||||
if (p instanceof AbstractNumericProperty) {
|
if (p instanceof AbstractNumericProperty) {
|
||||||
AbstractNumericProperty np = (AbstractNumericProperty) p;
|
AbstractNumericProperty np = (AbstractNumericProperty) p;
|
||||||
property.minimum = np.getMinimum();
|
if (np.getMinimum() != null) {
|
||||||
property.maximum = np.getMaximum();
|
if (p instanceof BaseIntegerProperty) { // int, long
|
||||||
|
property.minimum = String.valueOf(np.getMinimum().longValue());
|
||||||
|
} else { // double, decimal
|
||||||
|
property.minimum = String.valueOf(np.getMinimum());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// set to null (empty) in mustache
|
||||||
|
property.minimum = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (np.getMaximum() != null) {
|
||||||
|
if (p instanceof BaseIntegerProperty) { // int, long
|
||||||
|
property.maximum = String.valueOf(np.getMaximum().longValue());
|
||||||
|
} else { // double, decimal
|
||||||
|
property.maximum = String.valueOf(np.getMaximum());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// set to null (empty) in mustache
|
||||||
|
property.maximum = null;
|
||||||
|
}
|
||||||
|
|
||||||
property.exclusiveMinimum = np.getExclusiveMinimum();
|
property.exclusiveMinimum = np.getExclusiveMinimum();
|
||||||
property.exclusiveMaximum = np.getExclusiveMaximum();
|
property.exclusiveMaximum = np.getExclusiveMaximum();
|
||||||
|
|
||||||
@ -2314,9 +2334,15 @@ public class DefaultCodegen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// validation
|
// validation
|
||||||
p.maximum = qp.getMaximum();
|
// handle maximum, minimum properly for int/long by removing the trailing ".0"
|
||||||
|
if ("integer".equals(type)) {
|
||||||
|
p.maximum = qp.getMaximum() == null ? null : String.valueOf(qp.getMaximum().longValue());
|
||||||
|
p.minimum = qp.getMinimum() == null ? null : String.valueOf(qp.getMinimum().longValue());
|
||||||
|
} else {
|
||||||
|
p.maximum = qp.getMaximum() == null ? null : String.valueOf(qp.getMaximum());
|
||||||
|
p.minimum = qp.getMinimum() == null ? null : String.valueOf(qp.getMinimum());
|
||||||
|
}
|
||||||
p.exclusiveMaximum = qp.isExclusiveMaximum();
|
p.exclusiveMaximum = qp.isExclusiveMaximum();
|
||||||
p.minimum = qp.getMinimum();
|
|
||||||
p.exclusiveMinimum = qp.isExclusiveMinimum();
|
p.exclusiveMinimum = qp.isExclusiveMinimum();
|
||||||
p.maxLength = qp.getMaxLength();
|
p.maxLength = qp.getMaxLength();
|
||||||
p.minLength = qp.getMinLength();
|
p.minLength = qp.getMinLength();
|
||||||
|
@ -553,20 +553,20 @@ public class FlaskConnexionCodegen extends DefaultCodegen implements CodegenConf
|
|||||||
example = "'" + escapeText(example) + "'";
|
example = "'" + escapeText(example) + "'";
|
||||||
} else if ("Integer".equals(type) || "int".equals(type)) {
|
} else if ("Integer".equals(type) || "int".equals(type)) {
|
||||||
if(p.minimum != null) {
|
if(p.minimum != null) {
|
||||||
example = "" + (p.minimum.intValue() + 1);
|
example = "" + (Integer.valueOf(p.minimum) + 1);
|
||||||
}
|
}
|
||||||
if(p.maximum != null) {
|
if(p.maximum != null) {
|
||||||
example = "" + p.maximum.intValue();
|
example = "" + p.maximum;
|
||||||
} else if (example == null) {
|
} else if (example == null) {
|
||||||
example = "56";
|
example = "56";
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if ("Long".equalsIgnoreCase(type)) {
|
} else if ("Long".equalsIgnoreCase(type)) {
|
||||||
if(p.minimum != null) {
|
if(p.minimum != null) {
|
||||||
example = "" + (p.minimum.longValue() + 1);
|
example = "" + (Long.valueOf(p.minimum) + 1);
|
||||||
}
|
}
|
||||||
if(p.maximum != null) {
|
if(p.maximum != null) {
|
||||||
example = "" + p.maximum.longValue();
|
example = "" + p.maximum;
|
||||||
} else if (example == null) {
|
} else if (example == null) {
|
||||||
example = "789";
|
example = "789";
|
||||||
}
|
}
|
||||||
|
@ -145,20 +145,20 @@ module Petstore
|
|||||||
|
|
||||||
# verify the required parameter 'byte' is set
|
# verify the required parameter 'byte' is set
|
||||||
fail ArgumentError, "Missing the required parameter 'byte' when calling FakeApi.test_endpoint_parameters" if byte.nil?
|
fail ArgumentError, "Missing the required parameter 'byte' when calling FakeApi.test_endpoint_parameters" if byte.nil?
|
||||||
if !opts[:'integer'].nil? && opts[:'integer'] > 100.0
|
if !opts[:'integer'].nil? && opts[:'integer'] > 100
|
||||||
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 100.0.'
|
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 100.'
|
||||||
end
|
end
|
||||||
|
|
||||||
if !opts[:'integer'].nil? && opts[:'integer'] < 10.0
|
if !opts[:'integer'].nil? && opts[:'integer'] < 10
|
||||||
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 10.0.'
|
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 10.'
|
||||||
end
|
end
|
||||||
|
|
||||||
if !opts[:'int32'].nil? && opts[:'int32'] > 200.0
|
if !opts[:'int32'].nil? && opts[:'int32'] > 200
|
||||||
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 200.0.'
|
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 200.'
|
||||||
end
|
end
|
||||||
|
|
||||||
if !opts[:'int32'].nil? && opts[:'int32'] < 20.0
|
if !opts[:'int32'].nil? && opts[:'int32'] < 20
|
||||||
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 20.0.'
|
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 20.'
|
||||||
end
|
end
|
||||||
|
|
||||||
if !opts[:'float'].nil? && opts[:'float'] > 987.6
|
if !opts[:'float'].nil? && opts[:'float'] > 987.6
|
||||||
|
@ -141,12 +141,12 @@ module Petstore
|
|||||||
end
|
end
|
||||||
# verify the required parameter 'order_id' is set
|
# verify the required parameter 'order_id' is set
|
||||||
fail ArgumentError, "Missing the required parameter 'order_id' when calling StoreApi.get_order_by_id" if order_id.nil?
|
fail ArgumentError, "Missing the required parameter 'order_id' when calling StoreApi.get_order_by_id" if order_id.nil?
|
||||||
if order_id > 5.0
|
if order_id > 5
|
||||||
fail ArgumentError, 'invalid value for "order_id" when calling StoreApi.get_order_by_id, must be smaller than or equal to 5.0.'
|
fail ArgumentError, 'invalid value for "order_id" when calling StoreApi.get_order_by_id, must be smaller than or equal to 5.'
|
||||||
end
|
end
|
||||||
|
|
||||||
if order_id < 1.0
|
if order_id < 1
|
||||||
fail ArgumentError, 'invalid value for "order_id" when calling StoreApi.get_order_by_id, must be greater than or equal to 1.0.'
|
fail ArgumentError, 'invalid value for "order_id" when calling StoreApi.get_order_by_id, must be greater than or equal to 1.'
|
||||||
end
|
end
|
||||||
|
|
||||||
# resource path
|
# resource path
|
||||||
|
@ -145,20 +145,20 @@ module Petstore
|
|||||||
# @return Array for valid properies with the reasons
|
# @return Array for valid properies with the reasons
|
||||||
def list_invalid_properties
|
def list_invalid_properties
|
||||||
invalid_properties = Array.new
|
invalid_properties = Array.new
|
||||||
if !@integer.nil? && @integer > 100.0
|
if !@integer.nil? && @integer > 100
|
||||||
invalid_properties.push("invalid value for 'integer', must be smaller than or equal to 100.0.")
|
invalid_properties.push("invalid value for 'integer', must be smaller than or equal to 100.")
|
||||||
end
|
end
|
||||||
|
|
||||||
if !@integer.nil? && @integer < 10.0
|
if !@integer.nil? && @integer < 10
|
||||||
invalid_properties.push("invalid value for 'integer', must be greater than or equal to 10.0.")
|
invalid_properties.push("invalid value for 'integer', must be greater than or equal to 10.")
|
||||||
end
|
end
|
||||||
|
|
||||||
if !@int32.nil? && @int32 > 200.0
|
if !@int32.nil? && @int32 > 200
|
||||||
invalid_properties.push("invalid value for 'int32', must be smaller than or equal to 200.0.")
|
invalid_properties.push("invalid value for 'int32', must be smaller than or equal to 200.")
|
||||||
end
|
end
|
||||||
|
|
||||||
if !@int32.nil? && @int32 < 20.0
|
if !@int32.nil? && @int32 < 20
|
||||||
invalid_properties.push("invalid value for 'int32', must be greater than or equal to 20.0.")
|
invalid_properties.push("invalid value for 'int32', must be greater than or equal to 20.")
|
||||||
end
|
end
|
||||||
|
|
||||||
if @number.nil?
|
if @number.nil?
|
||||||
@ -219,10 +219,10 @@ module Petstore
|
|||||||
# Check to see if the all the properties in the model are valid
|
# Check to see if the all the properties in the model are valid
|
||||||
# @return true if the model is valid
|
# @return true if the model is valid
|
||||||
def valid?
|
def valid?
|
||||||
return false if !@integer.nil? && @integer > 100.0
|
return false if !@integer.nil? && @integer > 100
|
||||||
return false if !@integer.nil? && @integer < 10.0
|
return false if !@integer.nil? && @integer < 10
|
||||||
return false if !@int32.nil? && @int32 > 200.0
|
return false if !@int32.nil? && @int32 > 200
|
||||||
return false if !@int32.nil? && @int32 < 20.0
|
return false if !@int32.nil? && @int32 < 20
|
||||||
return false if @number.nil?
|
return false if @number.nil?
|
||||||
return false if @number > 543.2
|
return false if @number > 543.2
|
||||||
return false if @number < 32.1
|
return false if @number < 32.1
|
||||||
@ -243,12 +243,12 @@ module Petstore
|
|||||||
# @param [Object] integer Value to be assigned
|
# @param [Object] integer Value to be assigned
|
||||||
def integer=(integer)
|
def integer=(integer)
|
||||||
|
|
||||||
if !integer.nil? && integer > 100.0
|
if !integer.nil? && integer > 100
|
||||||
fail ArgumentError, "invalid value for 'integer', must be smaller than or equal to 100.0."
|
fail ArgumentError, "invalid value for 'integer', must be smaller than or equal to 100."
|
||||||
end
|
end
|
||||||
|
|
||||||
if !integer.nil? && integer < 10.0
|
if !integer.nil? && integer < 10
|
||||||
fail ArgumentError, "invalid value for 'integer', must be greater than or equal to 10.0."
|
fail ArgumentError, "invalid value for 'integer', must be greater than or equal to 10."
|
||||||
end
|
end
|
||||||
|
|
||||||
@integer = integer
|
@integer = integer
|
||||||
@ -258,12 +258,12 @@ module Petstore
|
|||||||
# @param [Object] int32 Value to be assigned
|
# @param [Object] int32 Value to be assigned
|
||||||
def int32=(int32)
|
def int32=(int32)
|
||||||
|
|
||||||
if !int32.nil? && int32 > 200.0
|
if !int32.nil? && int32 > 200
|
||||||
fail ArgumentError, "invalid value for 'int32', must be smaller than or equal to 200.0."
|
fail ArgumentError, "invalid value for 'int32', must be smaller than or equal to 200."
|
||||||
end
|
end
|
||||||
|
|
||||||
if !int32.nil? && int32 < 20.0
|
if !int32.nil? && int32 < 20
|
||||||
fail ArgumentError, "invalid value for 'int32', must be greater than or equal to 20.0."
|
fail ArgumentError, "invalid value for 'int32', must be greater than or equal to 20."
|
||||||
end
|
end
|
||||||
|
|
||||||
@int32 = int32
|
@int32 = int32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user