| Qore Swagger Module Reference 2.2.3

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
Swagger::TypedParameter Class Reference

AbstractParameterObject specialization for parameters other than `"body"` More...

Inheritance diagram for Swagger::TypedParameter:
[legend]

## Public Member Functions
| check (bool serialize, bool request, string path, string method, string name, reference< auto > value)
| validates the value against the schema definition
| constructor (string name, hash< auto > oh, SwaggerSchema swagger)
| Creates the object.
auto | getDefaultValue ()
| returns the default value of the parameter (default: NOTHING)
auto | getExampleValue (*hash< string, bool > emap, *string fname)
| returns an example value of the parameter (default: NOTHING)
Public Member Functions inherited from Swagger::AbstractParameterObject
abstract | check (bool serialize, bool request, string path, string method, string name, reference value)
| verifies the parameter in an actual REST API call
| constructor (hash< auto > oh, *int opt_flags)
| Constructor.
auto | getDefaultValue ()
| returns the default value of the parameter (default: NOTHING)
Public Member Functions inherited from Swagger::ObjectBase
| constructor ()
| Constructor.
| constructor (hash< auto > oh)
| Constructor.
| constructor (ObjectBase other)
| copy constructor
| initialize (hash< auto > oh)
| Initialize.
Public Member Functions inherited from Swagger::SchemaBase
| constructor (SchemaBase other)
| Copy constructor.
| constructor (string objType, hash< auto > oh)
| Constructor.

## Public Attributes
bool | allowEmptyValue = False
| Sets the ability to pass empty-valued parameters.
*string | collectionFormat
| Determines the format of the array if type array is used.
auto | defaultVal
| Declares the value of the parameter that the server will use if none is provided.
*string | format
| The extending format for the previously mentioned `type`. See Data Type Formats for further details.
*SchemaObject | items
| Required if type is `"array"`. Describes the type of items in the array.
string | type
| Required. The type of the parameter.
Public Attributes inherited from Swagger::AbstractParameterObject
*string | desc
| A brief description of the parameter. This could contain examples of use. GFM syntax can be used for rich text representation.
string | inLoc
| Required. The location of the parameter.
string | name
| Required. The name of the parameter. Parameter names are case sensitive.
bool | required = False
| Determines whether this parameter is mandatory.
Public Attributes inherited from Swagger::ObjectBase
hash< auto > | vendorExtensions
| Allows extensions to the Swagger Schema.
Public Attributes inherited from Swagger::SchemaBase
hash< string, bool > | enum
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1.
*bool | exclusiveMax
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
*bool | exclusiveMin
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
*softfloat | maximum
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
*int | maxItems
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.2.
*int | maxLength
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.1.
*softfloat | minimum
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
*int | minItems
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.3.
*int | minLength
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.2.
*float | multipleOf
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1.
*string | pattern
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3.
*bool | uniqueItems
| See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.4.

## Protected Member Functions
abstract | setType (SwaggerSchema swagger)
| Sets the parameter type.
Protected Member Functions inherited from Swagger::SchemaBase
| check (bool serialize, bool request, string type, *string format, *SchemaObject items, string path, string method, string name, reference< auto > value)
| validates the value against the schema definition
| checkArrayParam (bool serialize, bool request, SchemaObject items, string path, string method, string name, reference< list< auto > > value)
| validates the value against the schema definition
| checkIntern (bool serialize, bool request, string type, *string format, string path, string method, string name, binary v, reference value)
| converts binary values to strings for supported formats
| checkIntern (bool serialize, bool request, string type, *string format, string path, string method, string name, date v, reference< auto > value)
| converts dates to/from string or int values for supported formats
| checkIntern (bool serialize, bool request, string type, *string format, string path, string method, string name, string v, reference< auto > value)
| validates string values
| constructor ()
| Private constructor.
auto | getExampleValueWithFormat (string type, *string format, *string fname)
| returns an example value for the given type

## Static Protected Member Functions
static | checkValueType (reference< auto > value, string type, *SchemaObject items, *string loc)
| validates default values
Static Protected Member Functions inherited from Swagger::SchemaBase
static | throwInvalidType (string name, string actual, string expected, auto value)
| throws an `SCHEMA-VALIDATION-ERROR` exception

## Additional Inherited Members
Static Public Member Functions inherited from Swagger::AbstractParameterObject
static AbstractParameterObject | newParameter (string name, hash< auto > oh, SwaggerSchema swagger)
| gets a concrete instance of an AbstractParameterObject
Static Public Member Functions inherited from Swagger::SchemaBase
static bool | checkValueType (reference< auto > value, string type)
| Checks the value against the type.

## Detailed Description

AbstractParameterObject specialization for parameters other than `"body"`

## Member Data Documentation

## ◆ allowEmptyValue

bool Swagger::TypedParameter::allowEmptyValue = False

Sets the ability to pass empty-valued parameters.

This is valid only for either `query` or `formData` parameters and allows you to send a parameter with a name only or an empty value. Default value is `false`.

## ◆ collectionFormat

*string Swagger::TypedParameter::collectionFormat

Determines the format of the array if type array is used.

Possible values are:

- `"csv"`: comma separated values; ex: foo,bar
- `"ssv"`: space separated values; ex: foo bar
- `"tsv"`: tab separated values; ex: foo\tbar
- `"pipes"`: pipe separated values; ex: foo|bar
- `"multi"`: corresponds to multiple parameter instances instead of multiple values for a single instance `foo=bar&foo=baz`. This is valid only for parameters in `"query"` or `"formData"`.

Default value is `"csv"`.

## ◆ defaultVal

auto Swagger::TypedParameter::defaultVal

Declares the value of the parameter that the server will use if none is provided.

For example a "count" to control the number of results per page might default to 100 if not supplied by the client in the request. (Note: "default" has no meaning for required parameters.) See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.2. Unlike JSON Schema this value MUST conform to the defined type for this parameter.

## ◆ type

string Swagger::TypedParameter::type

Required. The type of the parameter.

Since the parameter is not located at the request body, it is limited to simple types (that is, not an object - in OpenAPI 2 / Swagger - as an extention to support Swagger 3+ schemas converted to 2, we support also "object" with form-data serialization). The value MUST be one of `"string"`, `"number"`, `"integer"`, `"boolean"`, `"array"` or `"file"`. If `type` is `"file"`, the consumes MUST be either `"multipart/form-data"`, `" application/x-www-form-urlencoded"` or both and the parameter MUST be in `"formData"`.