public class ParameterObjectBuilder extends Object
Describes a single operation parameter.
A unique parameter is defined by a combination of a name and withIn(String)
(location).
Parameter Locations
There are four possible parameter locations specified by the in
field:
/items/{itemId}
,
the path parameter is itemId
./items?id=###
, the query
parameter is id
.Constructor and Description |
---|
ParameterObjectBuilder() |
Modifier and Type | Method and Description |
---|---|
ParameterObject |
build() |
static ParameterObjectBuilder |
parameterObject()
Creates a builder for a
ParameterObject |
ParameterObjectBuilder |
withAllowEmptyValue(boolean allowEmptyValue) |
ParameterObjectBuilder |
withAllowReserved(boolean allowReserved) |
ParameterObjectBuilder |
withContent(Map<String,MediaTypeObject> content) |
ParameterObjectBuilder |
withDeprecated(boolean deprecated) |
ParameterObjectBuilder |
withDescription(String description) |
ParameterObjectBuilder |
withExample(Object example) |
ParameterObjectBuilder |
withExamples(Map<String,ExampleObject> examples) |
ParameterObjectBuilder |
withExplode(Boolean explode) |
ParameterObjectBuilder |
withIn(String in) |
ParameterObjectBuilder |
withName(String name) |
ParameterObjectBuilder |
withRequired(Boolean required) |
ParameterObjectBuilder |
withSchema(SchemaObject schema) |
ParameterObjectBuilder |
withStyle(String style) |
public ParameterObjectBuilder withName(String name)
name
- REQUIRED. The name of the parameter. Parameter names are case sensitive.
in
is "path"
, the name
field MUST correspond to
the associated path segment from the path field in the PathsObject
.in
is "header"
and the name
field is
"Accept"
, "Content-Type"
or "Authorization"
,
the parameter definition SHALL be ignored.name
corresponds to the parameter name used by the
in
property.public ParameterObjectBuilder withIn(String in)
in
- REQUIRED. The location of the parameter. Possible values are "query", "header", "path" or "cookie".public ParameterObjectBuilder withDescription(String description)
description
- A brief description of the parameter. This could contain examples of use.
CommonMark syntax MAY be used for rich text representation.public ParameterObjectBuilder withRequired(Boolean required)
required
- Determines whether this parameter is mandatory. If the parameter location is "path",
this property is REQUIRED and its value MUST be true
.
Otherwise, the property MAY be included and its default value is false
.public ParameterObjectBuilder withDeprecated(boolean deprecated)
deprecated
- Specifies that a parameter is deprecated and SHOULD be transitioned out of usage.public ParameterObjectBuilder withAllowEmptyValue(boolean allowEmptyValue)
allowEmptyValue
- Sets the ability to pass empty-valued parameters. This is valid only for
query
parameters and allows sending a parameter with an empty value.
Default value is false
. If style
is used, and if behavior
is n/a
(cannot be serialized), the value of allowEmptyValue
SHALL be ignored.public ParameterObjectBuilder withStyle(String style)
style
- Describes how the parameter value will be serialized depending on the type of the parameter value.
Default values (based on value of in
): for query
- form
;
for path
- simple
; for header
- simple
;
for cookie
- form
.
In order to support common ways of serializing simple parameters, a set of style
values are defined.
style |
type |
in |
Comments |
---|---|---|---|
matrix | primitive , array , object |
path |
Path-style parameters defined by RFC6570 |
label | primitive , array , object |
path |
Label style parameters defined by RFC6570 |
form | primitive , array , object |
query , cookie |
Form style parameters defined by RFC6570. This option replaces collectionFormat with a csv (when explode is false) or multi (when explode is true) value from OpenAPI 2.0. |
simple | array |
path , header |
Simple style parameters defined by RFC6570. This option replaces collectionFormat with a csv value from OpenAPI 2.0. |
spaceDelimited | array |
query |
Space separated array values. This option replaces collectionFormat equal to ssv from OpenAPI 2.0. |
pipeDelimited | array |
query |
Pipe separated array values. This option replaces collectionFormat equal to pipes from OpenAPI 2.0. |
deepObject | object |
query |
Provides a simple way of rendering nested objects using form parameters. |
public ParameterObjectBuilder withExplode(Boolean explode)
explode
- When this is true, parameter values of type array
or object
generate
separate parameters for each value of the array or key-value pair of the map. For other types
of parameters this property has no effect. When style
is form
, the
default value is true
. For all other styles, the default value is false
.public ParameterObjectBuilder withAllowReserved(boolean allowReserved)
allowReserved
- Determines whether the parameter value SHOULD allow reserved characters, as defined by
RFC3986
:/?#[]@!$&'()*+,;=
to be included without percent-encoding. This property
only applies to parameters with an in
value of query
. The
default value is false
.public ParameterObjectBuilder withSchema(SchemaObject schema)
schema
- The schema defining the type used for the parameter.public ParameterObjectBuilder withExample(Object example)
example
- Example of the media type. The example SHOULD match the specified schema and encoding properties
if present. The example
field is mutually exclusive of the examples
field. Furthermore, if referencing a schema
which contains an example, the
example
value SHALL override the example provided by the schema.
To represent examples of media types that cannot naturally be represented in JSON or YAML,
a string value can contain the example with escaping where necessary.public ParameterObjectBuilder withExamples(Map<String,ExampleObject> examples)
examples
- Examples of the media type. Each example SHOULD contain a value in the correct format as
specified in the parameter encoding. The examples
field is mutually exclusive
of the example
field. Furthermore, if referencing a schema
which
contains an example, the examples
value SHALL override the example
provided by the schema.public ParameterObjectBuilder withContent(Map<String,MediaTypeObject> content)
content
- A map containing the representations for the parameter. The key is the media type and the value describes it.
The map MUST only contain one entry.public ParameterObject build()
public static ParameterObjectBuilder parameterObject()
ParameterObject
Copyright © 2017–2019. All rights reserved.