Mattias Sehlstedt 10fc9d07c7
Single request parameter equals and hashcode (#20833)
* Align indentation

* Add equals and hashcode to singleRequestParameter static class

* Add missing sample updates that were affected by new imports

* add restclient sample

* update FILES, chmod=+x

* Update samples with jakarta annotations

* Updates samples

---------

Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com>
2025-04-27 16:46:01 +08:00

2364 lines
57 KiB
YAML

openapi: 3.0.0
info:
description: "This spec is mainly for testing Petstore server and contains fake\
\ endpoints, models. Please do not use this for any other purpose. Special characters:\
\ \" \\"
license:
name: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: OpenAPI Petstore
version: 1.0.0
servers:
- description: petstore server
url: "http://{server}.swagger.io:{port}/v2"
variables:
server:
default: petstore
enum:
- petstore
- qa-petstore
- dev-petstore
port:
default: "80"
enum:
- "80"
- "8080"
- description: The local server
url: "https://localhost:8080/{version}"
variables:
version:
default: v2
enum:
- v1
- v2
- description: The local server without variables
url: https://127.0.0.1/no_varaible
tags:
- description: Everything about your Pets
name: pet
- description: Access to Petstore orders
name: store
- description: Operations about user
name: user
paths:
/foo:
get:
responses:
default:
content:
application/json:
schema:
$ref: '#/components/schemas/_foo_get_default_response'
description: response
x-accepts:
- application/json
/pet:
post:
description: ""
operationId: addPet
requestBody:
$ref: '#/components/requestBodies/Pet'
responses:
"200":
description: Successful operation
"405":
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
summary: Add a new pet to the store
tags:
- pet
x-content-type: application/json
x-accepts:
- application/json
put:
description: ""
operationId: updatePet
requestBody:
$ref: '#/components/requestBodies/Pet'
responses:
"200":
description: Successful operation
"400":
description: Invalid ID supplied
"404":
description: Pet not found
"405":
description: Validation exception
security:
- petstore_auth:
- write:pets
- read:pets
summary: Update an existing pet
tags:
- pet
x-webclient-blocking: true
x-content-type: application/json
x-accepts:
- application/json
servers:
- url: http://petstore.swagger.io/v2
- url: http://path-server-test.petstore.local/v2
- description: test server with variables
url: "http://{server}.swagger.io:{port}/v2"
variables:
server:
default: petstore
description: target server
enum:
- petstore
- qa-petstore
- dev-petstore
port:
default: "80"
enum:
- "80"
- "8080"
/pet/findByStatus:
get:
description: Multiple status values can be provided with comma separated strings
operationId: findPetsByStatus
parameters:
- deprecated: true
description: Status values that need to be considered for filter
explode: false
in: query
name: status
required: true
schema:
items:
default: available
enum:
- available
- pending
- sold
type: string
type: array
style: form
responses:
"200":
content:
application/xml:
schema:
items:
$ref: '#/components/schemas/Pet'
type: array
application/json:
schema:
items:
$ref: '#/components/schemas/Pet'
type: array
description: successful operation
"400":
description: Invalid status value
security:
- petstore_auth:
- write:pets
- read:pets
summary: Finds Pets by status
tags:
- pet
x-webclient-blocking: true
x-accepts:
- application/json
- application/xml
/pet/findByTags:
get:
deprecated: true
description: "Multiple tags can be provided with comma separated strings. Use\
\ tag1, tag2, tag3 for testing."
operationId: findPetsByTags
parameters:
- description: Tags to filter by
explode: false
in: query
name: tags
required: true
schema:
items:
type: string
type: array
uniqueItems: true
style: form
responses:
"200":
content:
application/xml:
schema:
items:
$ref: '#/components/schemas/Pet'
type: array
uniqueItems: true
application/json:
schema:
items:
$ref: '#/components/schemas/Pet'
type: array
uniqueItems: true
description: successful operation
"400":
description: Invalid tag value
security:
- petstore_auth:
- write:pets
- read:pets
summary: Finds Pets by tags
tags:
- pet
x-webclient-blocking: true
x-accepts:
- application/json
- application/xml
/pet/{petId}:
delete:
description: ""
operationId: deletePet
parameters:
- explode: false
in: header
name: api_key
required: false
schema:
type: string
style: simple
- description: Pet id to delete
explode: false
in: path
name: petId
required: true
schema:
format: int64
type: integer
style: simple
responses:
"200":
description: Successful operation
"400":
description: Invalid pet value
security:
- petstore_auth:
- write:pets
- read:pets
summary: Deletes a pet
tags:
- pet
x-accepts:
- application/json
get:
description: Returns a single pet
operationId: getPetById
parameters:
- description: ID of pet to return
explode: false
in: path
name: petId
required: true
schema:
format: int64
type: integer
style: simple
responses:
"200":
content:
application/xml:
schema:
$ref: '#/components/schemas/Pet'
application/json:
schema:
$ref: '#/components/schemas/Pet'
description: successful operation
"400":
description: Invalid ID supplied
"404":
description: Pet not found
security:
- api_key: []
summary: Find pet by ID
tags:
- pet
x-webclient-blocking: true
x-accepts:
- application/json
- application/xml
post:
description: ""
operationId: updatePetWithForm
parameters:
- description: ID of pet that needs to be updated
explode: false
in: path
name: petId
required: true
schema:
format: int64
type: integer
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/updatePetWithForm_request'
responses:
"200":
description: Successful operation
"405":
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
summary: Updates a pet in the store with form data
tags:
- pet
x-content-type: application/x-www-form-urlencoded
x-accepts:
- application/json
/pet/{petId}/uploadImage:
post:
description: ""
operationId: uploadFile
parameters:
- description: ID of pet to update
explode: false
in: path
name: petId
required: true
schema:
format: int64
type: integer
style: simple
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/uploadFile_request'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
description: successful operation
security:
- petstore_auth:
- write:pets
- read:pets
summary: uploads an image
tags:
- pet
x-content-type: multipart/form-data
x-accepts:
- application/json
/store/inventory:
get:
description: Returns a map of status codes to quantities
operationId: getInventory
responses:
"200":
content:
application/json:
schema:
additionalProperties:
format: int32
type: integer
type: object
description: successful operation
security:
- api_key: []
summary: Returns pet inventories by status
tags:
- store
x-webclient-blocking: false
x-accepts:
- application/json
/store/order:
post:
description: ""
operationId: placeOrder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
description: order placed for purchasing the pet
required: true
responses:
"200":
content:
application/xml:
schema:
$ref: '#/components/schemas/Order'
application/json:
schema:
$ref: '#/components/schemas/Order'
description: successful operation
"400":
description: Invalid Order
summary: Place an order for a pet
tags:
- store
x-content-type: application/json
x-accepts:
- application/json
- application/xml
/store/order/{order_id}:
delete:
description: For valid response try integer IDs with value < 1000. Anything
above 1000 or nonintegers will generate API errors
operationId: deleteOrder
parameters:
- description: ID of the order that needs to be deleted
explode: false
in: path
name: order_id
required: true
schema:
type: string
style: simple
responses:
"400":
description: Invalid ID supplied
"404":
description: Order not found
summary: Delete purchase order by ID
tags:
- store
x-accepts:
- application/json
get:
description: For valid response try integer IDs with value <= 5 or > 10. Other
values will generate exceptions
operationId: getOrderById
parameters:
- description: ID of pet that needs to be fetched
explode: false
in: path
name: order_id
required: true
schema:
format: int64
maximum: 5
minimum: 1
type: integer
style: simple
responses:
"200":
content:
application/xml:
schema:
$ref: '#/components/schemas/Order'
application/json:
schema:
$ref: '#/components/schemas/Order'
description: successful operation
"400":
description: Invalid ID supplied
"404":
description: Order not found
summary: Find purchase order by ID
tags:
- store
x-accepts:
- application/json
- application/xml
/user:
post:
description: This can only be done by the logged in user.
operationId: createUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: Created user object
required: true
responses:
default:
description: successful operation
summary: Create user
tags:
- user
x-content-type: application/json
x-accepts:
- application/json
/user/createWithArray:
post:
description: ""
operationId: createUsersWithArrayInput
requestBody:
$ref: '#/components/requestBodies/UserArray'
responses:
default:
description: successful operation
summary: Creates list of users with given input array
tags:
- user
x-content-type: application/json
x-accepts:
- application/json
/user/createWithList:
post:
description: ""
operationId: createUsersWithListInput
requestBody:
$ref: '#/components/requestBodies/UserArray'
responses:
default:
description: successful operation
summary: Creates list of users with given input array
tags:
- user
x-content-type: application/json
x-accepts:
- application/json
/user/login:
get:
description: ""
operationId: loginUser
parameters:
- description: The user name for login
explode: true
in: query
name: username
required: true
schema:
type: string
style: form
- description: The password for login in clear text
explode: true
in: query
name: password
required: true
schema:
type: string
style: form
responses:
"200":
content:
application/xml:
schema:
type: string
application/json:
schema:
type: string
description: successful operation
headers:
X-Rate-Limit:
description: calls per hour allowed by the user
explode: false
schema:
format: int32
type: integer
style: simple
X-Expires-After:
description: date in UTC when token expires
explode: false
schema:
format: date-time
type: string
style: simple
"400":
description: Invalid username/password supplied
summary: Logs user into the system
tags:
- user
x-accepts:
- application/json
- application/xml
/user/logout:
get:
description: ""
operationId: logoutUser
responses:
default:
description: successful operation
summary: Logs out current logged in user session
tags:
- user
x-accepts:
- application/json
/user/{username}:
delete:
description: This can only be done by the logged in user.
operationId: deleteUser
parameters:
- description: The name that needs to be deleted
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
responses:
"400":
description: Invalid username supplied
"404":
description: User not found
summary: Delete user
tags:
- user
x-accepts:
- application/json
get:
description: ""
operationId: getUserByName
parameters:
- description: The name that needs to be fetched. Use user1 for testing.
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
responses:
"200":
content:
application/xml:
schema:
$ref: '#/components/schemas/User'
application/json:
schema:
$ref: '#/components/schemas/User'
description: successful operation
"400":
description: Invalid username supplied
"404":
description: User not found
summary: Get user by user name
tags:
- user
x-accepts:
- application/json
- application/xml
put:
description: This can only be done by the logged in user.
operationId: updateUser
parameters:
- description: name that need to be deleted
explode: false
in: path
name: username
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: Updated user object
required: true
responses:
"400":
description: Invalid user supplied
"404":
description: User not found
summary: Updated user
tags:
- user
x-content-type: application/json
x-accepts:
- application/json
/fake_classname_test:
patch:
description: To test class name in snake case
operationId: testClassname
requestBody:
$ref: '#/components/requestBodies/Client'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: successful operation
security:
- api_key_query: []
summary: To test class name in snake case
tags:
- fake_classname_tags 123#$%^
x-content-type: application/json
x-accepts:
- application/json
/fake:
delete:
description: Fake endpoint to test group parameters (optional)
operationId: testGroupParameters
parameters:
- description: Required String in group parameters
explode: true
in: query
name: required_string_group
required: true
schema:
type: integer
style: form
- description: Required Boolean in group parameters
explode: false
in: header
name: required_boolean_group
required: true
schema:
type: boolean
style: simple
- description: Required Integer in group parameters
explode: true
in: query
name: required_int64_group
required: true
schema:
format: int64
type: integer
style: form
- description: String in group parameters
explode: true
in: query
name: string_group
required: false
schema:
type: integer
style: form
- description: Boolean in group parameters
explode: false
in: header
name: boolean_group
required: false
schema:
type: boolean
style: simple
- description: Integer in group parameters
explode: true
in: query
name: int64_group
required: false
schema:
format: int64
type: integer
style: form
responses:
"400":
description: Something wrong
security:
- bearer_test: []
summary: Fake endpoint to test group parameters (optional)
tags:
- fake
x-group-parameters: true
x-accepts:
- application/json
get:
description: To test enum parameters
operationId: testEnumParameters
parameters:
- description: Header parameter enum test (string array)
explode: false
in: header
name: enum_header_string_array
required: false
schema:
items:
default: $
enum:
- '>'
- $
type: string
type: array
style: simple
- description: Header parameter enum test (string)
explode: false
in: header
name: enum_header_string
required: false
schema:
default: -efg
enum:
- _abc
- -efg
- (xyz)
type: string
style: simple
- description: Query parameter enum test (string array)
explode: true
in: query
name: enum_query_string_array
required: false
schema:
items:
default: $
enum:
- '>'
- $
type: string
type: array
style: form
- description: Query parameter enum test (string)
explode: true
in: query
name: enum_query_string
required: false
schema:
default: -efg
enum:
- _abc
- -efg
- (xyz)
type: string
style: form
- description: Query parameter enum test (double)
explode: true
in: query
name: enum_query_integer
required: false
schema:
enum:
- 1
- -2
format: int32
type: integer
style: form
- description: Query parameter enum test (double)
explode: true
in: query
name: enum_query_double
required: false
schema:
enum:
- 1.1
- -1.2
format: double
type: number
style: form
- explode: true
in: query
name: enum_query_model_array
required: false
schema:
items:
$ref: '#/components/schemas/EnumClass'
type: array
style: form
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/testEnumParameters_request'
responses:
"400":
description: Invalid request
"404":
description: Not found
summary: To test enum parameters
tags:
- fake
x-content-type: application/x-www-form-urlencoded
x-accepts:
- application/json
patch:
description: To test "client" model
operationId: testClientModel
requestBody:
$ref: '#/components/requestBodies/Client'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: successful operation
summary: To test "client" model
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
post:
description: |
Fake endpoint for testing various parameters
假端點
偽のエンドポイント
가짜 엔드 포인트
operationId: testEndpointParameters
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/testEndpointParameters_request'
responses:
"400":
description: Invalid username supplied
"404":
description: User not found
security:
- http_basic_test: []
summary: |
Fake endpoint for testing various parameters
假端點
偽のエンドポイント
가짜 엔드 포인트
tags:
- fake
x-content-type: application/x-www-form-urlencoded
x-accepts:
- application/json
/fake/outer/number:
post:
description: Test serialization of outer number types
operationId: fakeOuterNumberSerialize
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterNumber'
description: Input number as post body
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterNumber'
description: Output number
tags:
- fake
x-content-type: application/json
x-accepts:
- '*/*'
/fake/property/enum-int:
post:
description: Test serialization of enum (int) properties with examples
operationId: fakePropertyEnumIntegerSerialize
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterObjectWithEnumProperty'
description: Input enum (int) as post body
required: true
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterObjectWithEnumProperty'
description: Output enum (int)
tags:
- fake
x-content-type: application/json
x-accepts:
- '*/*'
/fake/outer/string:
post:
description: Test serialization of outer string types
operationId: fakeOuterStringSerialize
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterString'
description: Input string as post body
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterString'
description: Output string
tags:
- fake
x-content-type: application/json
x-accepts:
- '*/*'
/fake/outer/boolean:
post:
description: Test serialization of outer boolean types
operationId: fakeOuterBooleanSerialize
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterBoolean'
description: Input boolean as post body
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterBoolean'
description: Output boolean
tags:
- fake
x-content-type: application/json
x-accepts:
- '*/*'
/fake/outer/composite:
post:
description: Test serialization of object with outer number type
operationId: fakeOuterCompositeSerialize
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterComposite'
description: Input composite as post body
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterComposite'
description: Output composite
tags:
- fake
x-content-type: application/json
x-accepts:
- '*/*'
/fake/BigDecimalMap:
get:
description: "for Java apache and Java native, test toUrlQueryString for maps\
\ with BegDecimal keys"
operationId: fakeBigDecimalMap
responses:
"200":
content:
'*/*':
schema:
$ref: '#/components/schemas/fakeBigDecimalMap_200_response'
description: successful operation
tags:
- fake
x-accepts:
- '*/*'
/fake/jsonFormData:
get:
description: ""
operationId: testJsonFormData
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/testJsonFormData_request'
responses:
"200":
description: successful operation
summary: test json serialization of form data
tags:
- fake
x-content-type: application/x-www-form-urlencoded
x-accepts:
- application/json
/fake/additionalProperties-reference:
post:
description: ""
operationId: testAdditionalPropertiesReference
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FreeFormObject'
description: request body
required: true
responses:
"200":
description: successful operation
summary: test referenced additionalProperties
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/stringMap-reference:
post:
description: ""
operationId: testStringMapReference
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MapOfString'
description: request body
required: true
responses:
"200":
description: successful operation
summary: test referenced string map
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/inline-additionalProperties:
post:
description: ""
operationId: testInlineAdditionalProperties
requestBody:
content:
application/json:
schema:
additionalProperties:
type: string
type: object
description: request body
required: true
responses:
"200":
description: successful operation
summary: test inline additionalProperties
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/inline-freeform-additionalProperties:
post:
description: ""
operationId: testInlineFreeformAdditionalProperties
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/testInlineFreeformAdditionalProperties_request'
description: request body
required: true
responses:
"200":
description: successful operation
summary: test inline free-form additionalProperties
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/nullable:
post:
description: ""
operationId: testNullable
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChildWithNullable'
description: request body
required: true
responses:
"200":
description: successful operation
summary: test nullable parent property
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/body-with-query-params:
put:
operationId: testBodyWithQueryParams
parameters:
- explode: true
in: query
name: query
required: true
schema:
type: string
style: form
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
responses:
"200":
description: Success
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/another-fake/dummy:
patch:
description: To test special tags and operation ID starting with number
operationId: 123_test_@#$%_special_tags
requestBody:
$ref: '#/components/requestBodies/Client'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: successful operation
summary: To test special tags
tags:
- $another-fake?
x-content-type: application/json
x-accepts:
- application/json
/fake/body-with-file-schema:
put:
description: "For this test, the body for this request must reference a schema\
\ named `File`."
operationId: testBodyWithFileSchema
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileSchemaTestClass'
required: true
responses:
"200":
description: Success
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
/fake/body-with-binary:
put:
description: "For this test, the body has to be a binary file."
operationId: testBodyWithBinary
requestBody:
content:
image/png:
schema:
format: binary
nullable: true
type: string
description: image to upload
required: true
responses:
"200":
description: Success
tags:
- fake
x-content-type: image/png
x-accepts:
- application/json
/fake/test-query-parameters:
put:
description: To test the collection format in query parameters
operationId: testQueryParameterCollectionFormat
parameters:
- explode: false
in: query
name: pipe
required: true
schema:
items:
type: string
type: array
style: pipeDelimited
- explode: false
in: query
name: ioutil
required: true
schema:
items:
type: string
type: array
style: form
- explode: false
in: query
name: http
required: true
schema:
items:
type: string
type: array
style: spaceDelimited
- explode: false
in: query
name: url
required: true
schema:
items:
type: string
type: array
style: form
- explode: true
in: query
name: context
required: true
schema:
items:
type: string
type: array
style: form
- explode: true
in: query
name: language
required: false
schema:
additionalProperties:
format: string
type: string
type: object
style: form
- allowEmptyValue: true
explode: true
in: query
name: allowEmpty
required: true
schema:
type: string
style: form
responses:
"200":
description: Success
tags:
- fake
x-accepts:
- application/json
/fake/{petId}/uploadImageWithRequiredFile:
post:
description: ""
operationId: uploadFileWithRequiredFile
parameters:
- description: ID of pet to update
explode: false
in: path
name: petId
required: true
schema:
format: int64
type: integer
style: simple
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/uploadFileWithRequiredFile_request'
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
description: successful operation
security:
- petstore_auth:
- write:pets
- read:pets
summary: uploads an image (required)
tags:
- pet
x-content-type: multipart/form-data
x-accepts:
- application/json
/fake/health:
get:
responses:
"200":
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckResult'
description: The instance started successfully
summary: Health check endpoint
tags:
- fake
x-accepts:
- application/json
/fake/http-signature-test:
get:
operationId: fake-http-signature-test
parameters:
- description: query parameter
explode: true
in: query
name: query_1
required: false
schema:
type: string
style: form
- description: header parameter
explode: false
in: header
name: header_1
required: false
schema:
type: string
style: simple
requestBody:
$ref: '#/components/requestBodies/Pet'
responses:
"200":
description: The instance started successfully
security:
- http_signature_test: []
summary: test http signature authentication
tags:
- fake
x-content-type: application/json
x-accepts:
- application/json
components:
requestBodies:
UserArray:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/User'
type: array
description: List of user object
required: true
Client:
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
description: client model
required: true
Pet:
content:
application/json:
schema:
$ref: '#/components/schemas/Pet'
application/xml:
schema:
$ref: '#/components/schemas/Pet'
description: Pet object that needs to be added to the store
required: true
schemas:
Foo:
example:
bar: bar
properties:
bar:
default: bar
type: string
type: object
Bar:
default: bar
type: string
Order:
example:
petId: 6
quantity: 1
id: 0
shipDate: 2000-01-23T04:56:07.000+00:00
complete: false
status: placed
properties:
id:
format: int64
type: integer
petId:
format: int64
type: integer
quantity:
format: int32
type: integer
shipDate:
format: date-time
type: string
status:
description: Order Status
enum:
- placed
- approved
- delivered
type: string
complete:
default: false
type: boolean
type: object
xml:
name: Order
Category:
example:
name: default-name
id: 6
properties:
id:
format: int64
type: integer
name:
default: default-name
type: string
required:
- name
type: object
xml:
name: Category
User:
example:
firstName: firstName
lastName: lastName
password: password
userStatus: 6
phone: phone
id: 0
email: email
username: username
properties:
id:
format: int64
type: integer
x-is-unique: true
username:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
password:
type: string
phone:
type: string
userStatus:
description: User Status
format: int32
type: integer
type: object
xml:
name: User
Tag:
example:
name: name
id: 1
properties:
id:
format: int64
type: integer
name:
type: string
type: object
xml:
name: Tag
Pet:
example:
photoUrls:
- photoUrls
- photoUrls
name: doggie
id: 0
category:
name: default-name
id: 6
tags:
- name: name
id: 1
- name: name
id: 1
status: available
properties:
id:
format: int64
type: integer
x-is-unique: true
category:
$ref: '#/components/schemas/Category'
name:
example: doggie
type: string
photoUrls:
items:
type: string
xml:
name: photoUrl
type: array
uniqueItems: true
xml:
wrapped: true
tags:
items:
$ref: '#/components/schemas/Tag'
type: array
xml:
name: tag
wrapped: true
status:
description: pet status in the store
enum:
- available
- pending
- sold
type: string
required:
- name
- photoUrls
type: object
xml:
name: Pet
ApiResponse:
example:
code: 0
type: type
message: message
properties:
code:
format: int32
type: integer
type:
type: string
message:
type: string
type: object
Return:
description: Model for testing reserved words
properties:
return:
format: int32
type: integer
xml:
name: Return
Name:
description: Model for testing model name same as property name
properties:
name:
format: int32
type: integer
snake_case:
format: int32
readOnly: true
type: integer
property:
type: string
"123Number":
readOnly: true
type: integer
required:
- name
xml:
name: Name
"200_response":
description: Model for testing model name starting with number
properties:
name:
format: int32
type: integer
class:
type: string
xml:
name: Name
ClassModel:
description: Model for testing model with "_class" property
properties:
_class:
type: string
Dog:
allOf:
- $ref: '#/components/schemas/Animal'
- properties:
breed:
type: string
type: object
Cat:
allOf:
- $ref: '#/components/schemas/Animal'
- properties:
declawed:
type: boolean
type: object
Animal:
discriminator:
mapping:
DOG: '#/components/schemas/Dog'
CAT: '#/components/schemas/Cat'
propertyName: className
properties:
className:
type: string
color:
default: red
type: string
required:
- className
type: object
AnimalFarm:
items:
$ref: '#/components/schemas/Animal'
type: array
format_test:
properties:
integer:
maximum: 100
minimum: 10
type: integer
int32:
format: int32
maximum: 200
minimum: 20
type: integer
int64:
format: int64
type: integer
number:
maximum: 543.2
minimum: 32.1
type: number
float:
format: float
maximum: 987.6
minimum: 54.3
type: number
double:
format: double
maximum: 123.4
minimum: 67.8
type: number
decimal:
format: number
type: string
string:
pattern: "/[a-z]/i"
type: string
byte:
format: byte
type: string
binary:
format: binary
type: string
date:
format: date
type: string
dateTime:
format: date-time
type: string
uuid:
example: 72f98069-206d-4f12-9f12-3d1e525a8e84
format: uuid
type: string
password:
format: password
maxLength: 64
minLength: 10
type: string
pattern_with_digits:
description: A string that is a 10 digit number. Can have leading zeros.
pattern: "^\\d{10}$"
type: string
pattern_with_digits_and_delimiter:
description: A string starting with 'image_' (case insensitive) and one
to three digits following i.e. Image_01.
pattern: "/^image_\\d{1,3}$/i"
type: string
required:
- byte
- date
- number
- password
type: object
EnumClass:
default: -efg
enum:
- _abc
- -efg
- (xyz)
type: string
Enum_Test:
properties:
enum_string:
enum:
- UPPER
- lower
- ""
type: string
enum_string_required:
enum:
- UPPER
- lower
- ""
type: string
enum_integer:
enum:
- 1
- -1
format: int32
type: integer
enum_number:
enum:
- 1.1
- -1.2
format: double
type: number
outerEnum:
$ref: '#/components/schemas/OuterEnum'
outerEnumInteger:
$ref: '#/components/schemas/OuterEnumInteger'
outerEnumDefaultValue:
$ref: '#/components/schemas/OuterEnumDefaultValue'
outerEnumIntegerDefaultValue:
$ref: '#/components/schemas/OuterEnumIntegerDefaultValue'
required:
- enum_string_required
type: object
AdditionalPropertiesClass:
properties:
map_property:
additionalProperties:
type: string
type: object
map_of_map_property:
additionalProperties:
additionalProperties:
type: string
type: object
type: object
type: object
MixedPropertiesAndAdditionalPropertiesClass:
properties:
uuid:
format: uuid
type: string
dateTime:
format: date-time
type: string
map:
additionalProperties:
$ref: '#/components/schemas/Animal'
type: object
type: object
List:
properties:
"123-list":
type: string
type: object
Client:
example:
client: client
properties:
client:
type: string
type: object
ReadOnlyFirst:
properties:
bar:
readOnly: true
type: string
baz:
type: string
type: object
hasOnlyReadOnly:
properties:
bar:
readOnly: true
type: string
foo:
readOnly: true
type: string
type: object
Capitalization:
properties:
smallCamel:
type: string
CapitalCamel:
type: string
small_Snake:
type: string
Capital_Snake:
type: string
SCA_ETH_Flow_Points:
type: string
ATT_NAME:
description: |
Name of the pet
type: string
type: object
MapTest:
properties:
map_map_of_string:
additionalProperties:
additionalProperties:
type: string
type: object
type: object
map_of_enum_string:
additionalProperties:
enum:
- UPPER
- lower
type: string
type: object
direct_map:
additionalProperties:
type: boolean
type: object
indirect_map:
additionalProperties:
type: boolean
type: object
type: object
ArrayTest:
properties:
array_of_string:
items:
type: string
maxItems: 3
minItems: 0
type: array
array_array_of_integer:
items:
items:
format: int64
type: integer
type: array
type: array
array_array_of_model:
items:
items:
$ref: '#/components/schemas/ReadOnlyFirst'
type: array
type: array
type: object
NumberOnly:
properties:
JustNumber:
type: number
type: object
ArrayOfNumberOnly:
properties:
ArrayNumber:
items:
type: number
type: array
type: object
ArrayOfArrayOfNumberOnly:
properties:
ArrayArrayNumber:
items:
items:
type: number
type: array
type: array
type: object
EnumArrays:
properties:
just_symbol:
enum:
- '>='
- $
type: string
array_enum:
items:
enum:
- fish
- crab
type: string
type: array
type: object
FreeFormObject:
additionalProperties: true
description: A schema consisting only of additional properties
type: object
MapOfString:
additionalProperties:
type: string
description: A schema consisting only of additional properties of type string
type: object
OuterEnum:
enum:
- placed
- approved
- delivered
nullable: true
type: string
OuterEnumInteger:
enum:
- 0
- 1
- 2
example: 2
type: integer
OuterEnumDefaultValue:
default: placed
enum:
- placed
- approved
- delivered
type: string
OuterEnumIntegerDefaultValue:
default: 0
enum:
- 0
- 1
- 2
type: integer
OuterComposite:
example:
my_string: my_string
my_number: 0.8008281904610115
my_boolean: true
properties:
my_number:
type: number
my_string:
type: string
my_boolean:
type: boolean
x-codegen-body-parameter-name: boolean_post_body
type: object
OuterNumber:
type: number
OuterString:
type: string
OuterBoolean:
type: boolean
x-codegen-body-parameter-name: boolean_post_body
ParentWithNullable:
discriminator:
propertyName: type
properties:
type:
enum:
- ChildWithNullable
type: string
nullableProperty:
nullable: true
type: string
type: object
ChildWithNullable:
allOf:
- $ref: '#/components/schemas/ParentWithNullable'
- properties:
otherProperty:
type: string
type: object
example:
otherProperty: otherProperty
nullableProperty: nullableProperty
type: ChildWithNullable
StringBooleanMap:
additionalProperties:
type: boolean
type: object
FileSchemaTestClass:
example:
file:
sourceURI: sourceURI
files:
- sourceURI: sourceURI
- sourceURI: sourceURI
properties:
file:
$ref: '#/components/schemas/File'
files:
items:
$ref: '#/components/schemas/File'
type: array
type: object
File:
description: Must be named `File` for test.
example:
sourceURI: sourceURI
properties:
sourceURI:
description: Test capitalization
type: string
type: object
_special_model.name_:
properties:
$special[property.name]:
format: int64
type: integer
xml:
name: "$special[model.name]"
HealthCheckResult:
description: Just a string to inform instance is up and running. Make it nullable
in hope to get it as pointer in generated model.
example:
NullableMessage: NullableMessage
properties:
NullableMessage:
nullable: true
type: string
type: object
NullableClass:
additionalProperties:
nullable: true
type: object
properties:
integer_prop:
nullable: true
type: integer
number_prop:
nullable: true
type: number
boolean_prop:
nullable: true
type: boolean
string_prop:
nullable: true
type: string
date_prop:
format: date
nullable: true
type: string
datetime_prop:
format: date-time
nullable: true
type: string
array_nullable_prop:
items:
type: object
nullable: true
type: array
array_and_items_nullable_prop:
items:
nullable: true
type: object
nullable: true
type: array
array_items_nullable:
items:
nullable: true
type: object
type: array
object_nullable_prop:
additionalProperties:
type: object
nullable: true
type: object
object_and_items_nullable_prop:
additionalProperties:
nullable: true
type: object
nullable: true
type: object
object_items_nullable:
additionalProperties:
nullable: true
type: object
type: object
type: object
OuterObjectWithEnumProperty:
example:
value: 2
properties:
value:
$ref: '#/components/schemas/OuterEnumInteger'
required:
- value
type: object
DeprecatedObject:
deprecated: true
properties:
name:
type: string
type: object
ObjectWithDeprecatedFields:
properties:
uuid:
type: string
id:
deprecated: true
type: number
deprecatedRef:
$ref: '#/components/schemas/DeprecatedObject'
bars:
deprecated: true
items:
$ref: '#/components/schemas/Bar'
type: array
type: object
AllOfWithSingleRef:
properties:
username:
type: string
SingleRefType:
allOf:
- $ref: '#/components/schemas/SingleRefType'
type: object
SingleRefType:
enum:
- admin
- user
title: SingleRefType
type: string
_foo_get_default_response:
example:
string:
bar: bar
properties:
string:
$ref: '#/components/schemas/Foo'
type: object
updatePetWithForm_request:
properties:
name:
description: Updated name of the pet
type: string
status:
description: Updated status of the pet
type: string
type: object
uploadFile_request:
properties:
additionalMetadata:
description: Additional data to pass to server
type: string
file:
description: file to upload
format: binary
type: string
type: object
testEnumParameters_request:
properties:
enum_form_string_array:
description: Form parameter enum test (string array)
items:
default: $
enum:
- '>'
- $
type: string
type: array
enum_form_string:
default: -efg
description: Form parameter enum test (string)
enum:
- _abc
- -efg
- (xyz)
type: string
type: object
testEndpointParameters_request:
properties:
integer:
description: None
maximum: 100
minimum: 10
type: integer
int32:
description: None
format: int32
maximum: 200
minimum: 20
type: integer
int64:
description: None
format: int64
type: integer
number:
description: None
maximum: 543.2
minimum: 32.1
type: number
float:
description: None
format: float
maximum: 987.6
type: number
double:
description: None
format: double
maximum: 123.4
minimum: 67.8
type: number
string:
description: None
pattern: "/[a-z]/i"
type: string
pattern_without_delimiter:
description: None
pattern: "^[A-Z].*"
type: string
byte:
description: None
format: byte
type: string
binary:
description: None
format: binary
type: string
date:
description: None
format: date
type: string
dateTime:
description: None
format: date-time
type: string
password:
description: None
format: password
maxLength: 64
minLength: 10
type: string
callback:
description: None
type: string
required:
- byte
- double
- number
- pattern_without_delimiter
type: object
fakeBigDecimalMap_200_response:
example:
someId: 0.8008281904610115
someMap:
key: 6.027456183070403
properties:
someId:
type: number
someMap:
additionalProperties:
type: number
type: object
type: object
testJsonFormData_request:
properties:
param:
description: field1
type: string
param2:
description: field2
type: string
required:
- param
- param2
type: object
testInlineFreeformAdditionalProperties_request:
additionalProperties: true
properties:
someProperty:
type: string
type: object
uploadFileWithRequiredFile_request:
properties:
additionalMetadata:
description: Additional data to pass to server
type: string
requiredFile:
description: file to upload
format: binary
type: string
required:
- requiredFile
type: object
securitySchemes:
petstore_auth:
flows:
implicit:
authorizationUrl: http://petstore.swagger.io/api/oauth/dialog
scopes:
write:pets: modify pets in your account
read:pets: read your pets
type: oauth2
api_key:
in: header
name: api_key
type: apiKey
api_key_query:
in: query
name: api_key_query
type: apiKey
http_basic_test:
scheme: basic
type: http
bearer_test:
bearerFormat: JWT
scheme: bearer
type: http
http_signature_test:
scheme: signature
type: http