Skip to content

Instantly share code, notes, and snippets.

@kemokemo
Last active February 2, 2019 09:19
Show Gist options
  • Save kemokemo/3625abb448b61ba0d66d3e72a477b0ab to your computer and use it in GitHub Desktop.
Save kemokemo/3625abb448b61ba0d66d3e72a477b0ab to your computer and use it in GitHub Desktop.
openapi generator #1869
#!/bin/sh
SCRIPT="$0"
echo "# START SCRIPT: $SCRIPT"
while [ -h "$SCRIPT" ] ; do
ls=`ls -ld "$SCRIPT"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
SCRIPT="$link"
else
SCRIPT=`dirname "$SCRIPT"`/"$link"
fi
done
if [ ! -d "${APP_DIR}" ]; then
APP_DIR=`dirname "$SCRIPT"`/..
APP_DIR=`cd "${APP_DIR}"; pwd`
fi
executable="./modules/openapi-generator-cli/target/openapi-generator-cli.jar"
if [ ! -f "$executable" ]
then
mvn -B clean package
fi
SPEC="modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml"
GENERATOR="go"
STUB_DIR="samples/client/petstore/go/go-petstore"
echo "Removing files and folders under $STUB_DIR"
rm -rf $STUB_DIR
# if you've executed sbt assembly previously it will use that instead.
export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
ags="generate -t modules/openapi-generator/src/main/resources/go -i $SPEC -g $GENERATOR -o $STUB_DIR -DpackageName=petstore $@"
java $JAVA_OPTS -jar $executable $ags
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: "
\
version: 1.0.0
title: OpenAPI Petstore
license:
name: Apache-2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
tags:
- name: pet
description: Everything about your Pets
- name: store
description: Access to Petstore orders
- name: user
description: Operations about user
paths:
/foo:
get:
responses:
default:
description: response
content:
application/json:
schema:
type: object
properties:
string:
$ref: '#/components/schemas/Foo'
/pet:
post:
tags:
- pet
summary: Add a new pet to the store
description: ''
operationId: addPet
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
requestBody:
$ref: '#/components/requestBodies/Pet'
put:
tags:
- pet
summary: Update an existing pet
description: ''
operationId: updatePet
responses:
'400':
description: Invalid ID supplied
'404':
description: Pet not found
'405':
description: Validation exception
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
requestBody:
$ref: '#/components/requestBodies/Pet'
/pet/findByStatus:
get:
tags:
- pet
summary: Finds Pets by status
description: Multiple status values can be provided with comma separated strings
operationId: findPetsByStatus
parameters:
- name: status
in: query
description: Status values that need to be considered for filter
required: true
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- available
- pending
- sold
default: available
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
'400':
description: Invalid status value
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
/pet/findByTags:
get:
tags:
- pet
summary: Finds Pets by tags
description: >-
Multiple tags can be provided with comma separated strings. Use tag1,
tag2, tag3 for testing.
operationId: findPetsByTags
parameters:
- name: tags
in: query
description: Tags to filter by
required: true
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
description: successful operation
content:
application/xml:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pet'
'400':
description: Invalid tag value
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
deprecated: true
'/pet/{petId}':
get:
tags:
- pet
summary: Find pet by ID
description: Returns a single pet
operationId: getPetById
parameters:
- name: petId
in: path
description: ID of pet to return
required: true
schema:
type: integer
format: int64
responses:
'200':
description: successful operation
content:
application/xml:
schema:
$ref: '#/components/schemas/Pet'
application/json:
schema:
$ref: '#/components/schemas/Pet'
'400':
description: Invalid ID supplied
'404':
description: Pet not found
security:
- api_key: []
post:
tags:
- pet
summary: Updates a pet in the store with form data
description: ''
operationId: updatePetWithForm
parameters:
- name: petId
in: path
description: ID of pet that needs to be updated
required: true
schema:
type: integer
format: int64
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
description: Updated name of the pet
type: string
status:
description: Updated status of the pet
type: string
delete:
tags:
- pet
summary: Deletes a pet
description: ''
operationId: deletePet
parameters:
- name: api_key
in: header
required: false
schema:
type: string
- name: petId
in: path
description: Pet id to delete
required: true
schema:
type: integer
format: int64
responses:
'400':
description: Invalid pet value
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
'/pet/{petId}/uploadImage':
post:
tags:
- pet
summary: uploads an image
description: ''
operationId: uploadFile
parameters:
- name: petId
in: path
description: ID of pet to update
required: true
schema:
type: integer
format: int64
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
additionalMetadata:
description: Additional data to pass to server
type: string
file:
description: file to upload
type: string
format: binary
/store/inventory:
get:
tags:
- store
summary: Returns pet inventories by status
description: Returns a map of status codes to quantities
operationId: getInventory
responses:
'200':
description: successful operation
content:
application/json:
schema:
type: object
additionalProperties:
type: integer
format: int32
security:
- api_key: []
/store/order:
post:
tags:
- store
summary: Place an order for a pet
description: ''
operationId: placeOrder
responses:
'200':
description: successful operation
content:
application/xml:
schema:
$ref: '#/components/schemas/Order'
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
description: Invalid Order
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
description: order placed for purchasing the pet
required: true
'/store/order/{order_id}':
get:
tags:
- store
summary: Find purchase order by ID
description: >-
For valid response try integer IDs with value <= 5 or > 10. Other values
will generated exceptions
operationId: getOrderById
parameters:
- name: order_id
in: path
description: ID of pet that needs to be fetched
required: true
schema:
type: integer
format: int64
minimum: 1
maximum: 5
responses:
'200':
description: successful operation
content:
application/xml:
schema:
$ref: '#/components/schemas/Order'
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
description: Invalid ID supplied
'404':
description: Order not found
delete:
tags:
- store
summary: Delete purchase order by ID
description: >-
For valid response try integer IDs with value < 1000. Anything above
1000 or nonintegers will generate API errors
operationId: deleteOrder
parameters:
- name: order_id
in: path
description: ID of the order that needs to be deleted
required: true
schema:
type: string
responses:
'400':
description: Invalid ID supplied
'404':
description: Order not found
/user:
post:
tags:
- user
summary: Create user
description: This can only be done by the logged in user.
operationId: createUser
responses:
default:
description: successful operation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: Created user object
required: true
/user/createWithArray:
post:
tags:
- user
summary: Creates list of users with given input array
description: ''
operationId: createUsersWithArrayInput
responses:
default:
description: successful operation
requestBody:
$ref: '#/components/requestBodies/UserArray'
/user/createWithList:
post:
tags:
- user
summary: Creates list of users with given input array
description: ''
operationId: createUsersWithListInput
responses:
default:
description: successful operation
requestBody:
$ref: '#/components/requestBodies/UserArray'
/user/login:
get:
tags:
- user
summary: Logs user into the system
description: ''
operationId: loginUser
parameters:
- name: username
in: query
description: The user name for login
required: true
schema:
type: string
- name: password
in: query
description: The password for login in clear text
required: true
schema:
type: string
responses:
'200':
description: successful operation
headers:
X-Rate-Limit:
description: calls per hour allowed by the user
schema:
type: integer
format: int32
X-Expires-After:
description: date in UTC when token expires
schema:
type: string
format: date-time
content:
application/xml:
schema:
type: string
application/json:
schema:
type: string
'400':
description: Invalid username/password supplied
/user/logout:
get:
tags:
- user
summary: Logs out current logged in user session
description: ''
operationId: logoutUser
responses:
default:
description: successful operation
'/user/{username}':
get:
tags:
- user
summary: Get user by user name
description: ''
operationId: getUserByName
parameters:
- name: username
in: path
description: The name that needs to be fetched. Use user1 for testing.
required: true
schema:
type: string
responses:
'200':
description: successful operation
content:
application/xml:
schema:
$ref: '#/components/schemas/User'
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: Invalid username supplied
'404':
description: User not found
put:
tags:
- user
summary: Updated user
description: This can only be done by the logged in user.
operationId: updateUser
parameters:
- name: username
in: path
description: name that need to be deleted
required: true
schema:
type: string
responses:
'400':
description: Invalid user supplied
'404':
description: User not found
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
description: Updated user object
required: true
delete:
tags:
- user
summary: Delete user
description: This can only be done by the logged in user.
operationId: deleteUser
parameters:
- name: username
in: path
description: The name that needs to be deleted
required: true
schema:
type: string
responses:
'400':
description: Invalid username supplied
'404':
description: User not found
/fake_classname_test:
patch:
tags:
- 'fake_classname_tags 123#$%^'
summary: To test class name in snake case
description: To test class name in snake case
operationId: testClassname
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
security:
- api_key_query: []
requestBody:
$ref: '#/components/requestBodies/Client'
/fake:
patch:
tags:
- fake
summary: To test "client" model
description: To test "client" model
operationId: testClientModel
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
requestBody:
$ref: '#/components/requestBodies/Client'
get:
tags:
- fake
summary: To test enum parameters
description: To test enum parameters
operationId: testEnumParameters
parameters:
- name: enum_header_string_array
in: header
description: Header parameter enum test (string array)
schema:
type: array
items:
type: string
default: $
enum:
- '>'
- $
- name: enum_header_string
in: header
description: Header parameter enum test (string)
schema:
type: string
enum:
- _abc
- '-efg'
- (xyz)
default: '-efg'
- name: enum_query_string_array
in: query
description: Query parameter enum test (string array)
schema:
type: array
items:
type: string
default: $
enum:
- '>'
- $
- name: enum_query_string
in: query
description: Query parameter enum test (string)
schema:
type: string
enum:
- _abc
- '-efg'
- (xyz)
default: '-efg'
- name: enum_query_integer
in: query
description: Query parameter enum test (double)
schema:
type: integer
format: int32
enum:
- 1
- -2
- name: enum_query_double
in: query
description: Query parameter enum test (double)
schema:
type: number
format: double
enum:
- 1.1
- -1.2
responses:
'400':
description: Invalid request
'404':
description: Not found
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
enum_form_string_array:
description: Form parameter enum test (string array)
type: array
items:
type: string
default: $
enum:
- '>'
- $
enum_form_string:
description: Form parameter enum test (string)
type: string
enum:
- _abc
- '-efg'
- (xyz)
default: '-efg'
post:
tags:
- fake
summary: |
Fake endpoint for testing various parameters
假端點
偽のエンドポイント
가짜 엔드 포인트
description: |
Fake endpoint for testing various parameters
假端點
偽のエンドポイント
가짜 엔드 포인트
operationId: testEndpointParameters
responses:
'400':
description: Invalid username supplied
'404':
description: User not found
security:
- http_basic_test: []
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
integer:
description: None
type: integer
minimum: 10
maximum: 100
int32:
description: None
type: integer
format: int32
minimum: 20
maximum: 200
int64:
description: None
type: integer
format: int64
number:
description: None
type: number
minimum: 32.1
maximum: 543.2
float:
description: None
type: number
format: float
maximum: 987.6
double:
description: None
type: number
format: double
minimum: 67.8
maximum: 123.4
string:
description: None
type: string
pattern: '/[a-z]/i'
pattern_without_delimiter:
description: None
type: string
pattern: '^[A-Z].*'
byte:
description: None
type: string
format: byte
binary:
description: None
type: string
format: binary
date:
description: None
type: string
format: date
dateTime:
description: None
type: string
format: date-time
password:
description: None
type: string
format: password
minLength: 10
maxLength: 64
callback:
description: None
type: string
required:
- number
- double
- pattern_without_delimiter
- byte
delete:
tags:
- fake
summary: Fake endpoint to test group parameters (optional)
description: Fake endpoint to test group parameters (optional)
operationId: testGroupParameters
x-group-parameters: true
parameters:
- name: required_string_group
in: query
description: Required String in group parameters
required: true
schema:
type: integer
- name: required_boolean_group
in: header
description: Required Boolean in group parameters
required: true
schema:
type: boolean
- name: required_int64_group
in: query
description: Required Integer in group parameters
required: true
schema:
type: integer
format: int64
- name: string_group
in: query
description: String in group parameters
schema:
type: integer
- name: boolean_group
in: header
description: Boolean in group parameters
schema:
type: boolean
- name: int64_group
in: query
description: Integer in group parameters
schema:
type: integer
format: int64
responses:
'400':
description: Someting wrong
/fake/outer/number:
post:
tags:
- fake
description: Test serialization of outer number types
operationId: fakeOuterNumberSerialize
responses:
'200':
description: Output number
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterNumber'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterNumber'
description: Input number as post body
/fake/outer/string:
post:
tags:
- fake
description: Test serialization of outer string types
operationId: fakeOuterStringSerialize
responses:
'200':
description: Output string
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterString'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterString'
description: Input string as post body
/fake/outer/boolean:
post:
tags:
- fake
description: Test serialization of outer boolean types
operationId: fakeOuterBooleanSerialize
responses:
'200':
description: Output boolean
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterBoolean'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterBoolean'
description: Input boolean as post body
/fake/outer/composite:
post:
tags:
- fake
description: Test serialization of object with outer number type
operationId: fakeOuterCompositeSerialize
responses:
'200':
description: Output composite
content:
'*/*':
schema:
$ref: '#/components/schemas/OuterComposite'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OuterComposite'
description: Input composite as post body
/fake/jsonFormData:
get:
tags:
- fake
summary: test json serialization of form data
description: ''
operationId: testJsonFormData
responses:
'200':
description: successful operation
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
param:
description: field1
type: string
param2:
description: field2
type: string
required:
- param
- param2
/fake/inline-additionalProperties:
post:
tags:
- fake
summary: test inline additionalProperties
description: ''
operationId: testInlineAdditionalProperties
responses:
'200':
description: successful operation
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: string
description: request body
required: true
/fake/body-with-query-params:
put:
tags:
- fake
operationId: testBodyWithQueryParams
parameters:
- name: query
in: query
required: true
schema:
type: string
responses:
'200':
description: Success
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
/another-fake/dummy:
patch:
tags:
- $another-fake?
summary: To test special tags
description: To test special tags and operation ID starting with number
operationId: '123_test_@#$%_special_tags'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Client'
requestBody:
$ref: '#/components/requestBodies/Client'
/fake/body-with-file-schema:
put:
tags:
- fake
description: >-
For this test, the body for this request much reference a schema named
`File`.
operationId: testBodyWithFileSchema
responses:
'200':
description: Success
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileSchemaTestClass'
required: true
'/fake/{petId}/uploadImageWithRequiredFile':
post:
tags:
- pet
summary: uploads an image (required)
description: ''
operationId: uploadFileWithRequiredFile
parameters:
- name: petId
in: path
description: ID of pet to update
required: true
schema:
type: integer
format: int64
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ApiResponse'
security:
- petstore_auth:
- 'write:pets'
- 'read:pets'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
additionalMetadata:
description: Additional data to pass to server
type: string
requiredFile:
description: file to upload
type: string
format: binary
required:
- requiredFile
/fake/health:
get:
tags:
- fake
summary: Health check endpoint
responses:
200:
description: The instance started successfully
content:
application/json:
schema:
$ref: '#/components/schemas/HealthCheckResult'
servers:
- url: 'http://{server}.swagger.io:{port}/v2'
description: petstore server
variables:
server:
enum:
- 'petstore'
- 'qa-petstore'
- 'dev-petstore'
default: 'petstore'
port:
enum:
- 80
- 8080
default: 80
- url: https://localhost:8080/{version}
description: The local server
variables:
version:
enum:
- 'v1'
- 'v2'
default: 'v2'
components:
requestBodies:
UserArray:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
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
securitySchemes:
petstore_auth:
type: oauth2
flows:
implicit:
authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog'
scopes:
'write:pets': modify pets in your account
'read:pets': read your pets
api_key:
type: apiKey
name: api_key
in: header
api_key_query:
type: apiKey
name: api_key_query
in: query
http_basic_test:
type: http
scheme: basic
schemas:
Foo:
type: object
properties:
bar:
$ref: '#/components/schemas/Bar'
Bar:
type: string
default: bar
Order:
type: object
properties:
id:
type: integer
format: int64
petId:
type: integer
format: int64
quantity:
type: integer
format: int32
shipDate:
type: string
format: date-time
status:
type: string
description: Order Status
enum:
- placed
- approved
- delivered
complete:
type: boolean
default: false
xml:
name: Order
Category:
type: object
required:
- name
properties:
id:
type: integer
format: int64
name:
type: string
default: default-name
xml:
name: Category
User:
type: object
properties:
id:
type: integer
format: int64
x-is-unique: true
username:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
password:
type: string
phone:
type: string
userStatus:
type: integer
format: int32
description: User Status
xml:
name: User
Tag:
type: object
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Tag
Pet:
type: object
required:
- name
- photoUrls
properties:
id:
type: integer
format: int64
x-is-unique: true
category:
$ref: '#/components/schemas/Category'
name:
type: string
example: doggie
photoUrls:
type: array
xml:
name: photoUrl
wrapped: true
items:
type: string
tags:
type: array
xml:
name: tag
wrapped: true
items:
$ref: '#/components/schemas/Tag'
status:
type: string
description: pet status in the store
enum:
- available
- pending
- sold
xml:
name: Pet
ApiResponse:
type: object
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
Return:
description: Model for testing reserved words
properties:
return:
type: integer
format: int32
xml:
name: Return
Name:
description: Model for testing model name same as property name
required:
- name
properties:
name:
type: integer
format: int32
snake_case:
readOnly: true
type: integer
format: int32
property:
type: string
123Number:
type: integer
readOnly: true
xml:
name: Name
200_response:
description: Model for testing model name starting with number
properties:
name:
type: integer
format: int32
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'
- type: object
properties:
breed:
type: string
Cat:
allOf:
- $ref: '#/components/schemas/Animal'
- type: object
properties:
declawed:
type: boolean
Animal:
type: object
discriminator:
propertyName: className
required:
- className
properties:
className:
type: string
color:
type: string
default: red
AnimalFarm:
type: array
items:
$ref: '#/components/schemas/Animal'
format_test:
type: object
required:
- number
- byte
- date
- password
properties:
integer:
type: integer
maximum: 100
minimum: 10
int32:
type: integer
format: int32
maximum: 200
minimum: 20
int64:
type: integer
format: int64
number:
maximum: 543.2
minimum: 32.1
type: number
float:
type: number
format: float
maximum: 987.6
minimum: 54.3
double:
type: number
format: double
maximum: 123.4
minimum: 67.8
string:
type: string
pattern: '/[a-z]/i'
byte:
type: string
format: byte
binary:
type: string
format: binary
date:
type: string
format: date
dateTime:
type: string
format: date-time
uuid:
type: string
format: uuid
password:
type: string
format: password
maxLength: 64
minLength: 10
pattern_with_digits:
description: A string that is a 10 digit number. Can have leading zeros.
type: string
pattern: '^\d{10}$'
pattern_with_digits_and_delimiter:
description: A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.
type: string
pattern: '/^image_\d{1,3}$/i'
EnumClass:
type: string
default: '-efg'
enum:
- _abc
- '-efg'
- (xyz)
Enum_Test:
type: object
required:
- enum_string_required
properties:
enum_string:
type: string
enum:
- UPPER
- lower
- ''
enum_string_required:
type: string
enum:
- UPPER
- lower
- ''
enum_integer:
type: integer
format: int32
enum:
- 1
- -1
enum_number:
type: number
format: double
enum:
- 1.1
- -1.2
outerEnum:
$ref: '#/components/schemas/OuterEnum'
AdditionalPropertiesClass:
type: object
properties:
map_property:
type: object
additionalProperties:
type: string
map_of_map_property:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
MixedPropertiesAndAdditionalPropertiesClass:
type: object
properties:
uuid:
type: string
format: uuid
dateTime:
type: string
format: date-time
map:
type: object
additionalProperties:
$ref: '#/components/schemas/Animal'
List:
type: object
properties:
123-list:
type: string
Client:
type: object
properties:
client:
type: string
ReadOnlyFirst:
type: object
properties:
bar:
type: string
readOnly: true
baz:
type: string
hasOnlyReadOnly:
type: object
properties:
bar:
type: string
readOnly: true
foo:
type: string
readOnly: true
Capitalization:
type: object
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
MapTest:
type: object
properties:
map_map_of_string:
type: object
additionalProperties:
type: object
additionalProperties:
type: string
map_of_enum_string:
type: object
additionalProperties:
type: string
enum:
- UPPER
- lower
direct_map:
type: object
additionalProperties:
type: boolean
indirect_map:
$ref: '#/components/schemas/StringBooleanMap'
ArrayTest:
type: object
properties:
array_of_string:
type: array
items:
type: string
array_array_of_integer:
type: array
items:
type: array
items:
type: integer
format: int64
array_array_of_model:
type: array
items:
type: array
items:
$ref: '#/components/schemas/ReadOnlyFirst'
NumberOnly:
type: object
properties:
JustNumber:
type: number
ArrayOfNumberOnly:
type: object
properties:
ArrayNumber:
type: array
items:
type: number
ArrayOfArrayOfNumberOnly:
type: object
properties:
ArrayArrayNumber:
type: array
items:
type: array
items:
type: number
EnumArrays:
type: object
properties:
just_symbol:
type: string
enum:
- '>='
- $
array_enum:
type: array
items:
type: string
enum:
- fish
- crab
OuterEnum:
type: string
enum:
- placed
- approved
- delivered
OuterComposite:
type: object
properties:
my_number:
$ref: '#/components/schemas/OuterNumber'
my_string:
$ref: '#/components/schemas/OuterString'
my_boolean:
$ref: '#/components/schemas/OuterBoolean'
OuterNumber:
type: number
OuterString:
type: string
OuterBoolean:
type: boolean
x-codegen-body-parameter-name: boolean_post_body
StringBooleanMap:
additionalProperties:
type: boolean
FileSchemaTestClass:
type: object
properties:
file:
$ref: '#/components/schemas/File'
files:
type: array
items:
$ref: '#/components/schemas/File'
File:
type: object
description: Must be named `File` for test.
properties:
sourceURI:
description: Test capitalization
type: string
_special_model.name_:
properties:
'$special[property.name]':
type: integer
format: int64
xml:
name: '$special[model.name]'
HealthCheckResult:
type: object
properties:
NullableMessage:
nullable: true
type: string
description: Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment