Hi All,

Currently we are handling the issue related to swagger parameter default values 
while generating the swagger content.

Default value annotation(@DefaultValue) we can provide for PathParam, 
QueryParam, MatrixParam, CookieParam, FormParam and HeaderParam.

The query is when to consider default value for swagger parameter.

Solution:1 [parameter value required case]
  While generating the swagger content:

1)      consider default value(@DefaultValue) if and only the parameter 
configured required is false(required=false).

2)      If default value(@DefaultValue)  is not available then consider JAVA 
primitive default values only when the parameter configured required is 
false(required=false).

The default values as follows:

Object types  --> null

collection for List, Set or SortedSet --> Empty list

primitive types:

int, long --> 0

                float, double --> 0.0

                boolean  --> false     etc..

3)      When the user not provided value in request(meta-data) and the 
parameter is configured with required is true(required=true) then throw 
exception by saying that "Invalid parameter".

Solution:2 [General case]
  While generating the swagger content:

1)      consider default value(@DefaultValue) without checking whether it is 
required or not(required=true or required=false)

2)      If default value(@DefaultValue)  is not available then consider JAVA 
primitive default values without checking whether it is required or 
not(required=true or required=false)

The default values as follows:

Object types  --> null

collection for List, Set or SortedSet --> Empty list

primitive types:

int, long --> 0

                float, double --> 0.0

                boolean  --> false     etc..

3)      When the user not provided value in request(meta-data) , first it will 
check annotated default value field and then it will check JAVA primitive 
default values.

Always some default values will be there for parameters and If user not given 
any values in request then it will consider the default values presented in 
schema content.


Any thoughts on this?
Please suggest which solution is best for handling the swagger parameter 
default values. Thank you in advance !


Thanks & Regards
Mahesh Raju Somalaraju
Github(id: maheshrajus)

Reply via email to