openapi: 3.0.0 info: title: "Schema in Parameters" description: |- This document has examples for examining the `schema` within a set of parameters * String Enum (/pet/findByStatus) * Array of Strings (/pet/findByTags) * Array of Boolean (/petOwner/listOfServiceTrainer) * Array of Objects (/petOwners/createWithList) * Array of Enum (/petOwner/findByPreference) This document also covers a debounce test for `schema` type `string * String (/petOwner) This documents does not cover: * Array of Arrays Additional notes * Provides additional coverage and examples not covered in the Multiple Examples Core Document (Test) * Code component reference `JsonSchemaForm` * `pet` and `tag` schemas are reduced from Swagger Petstore version: "1.0.0" paths: /pet/findByStatus: get: 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: false explode: true schema: 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: false explode: true 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' '/petOwner/{petOwnerId}': get: tags: - petOwner summary: Find pet owner by ID description: Returns a single pet owner if ID found, list if no ID provided operationId: getPetOwnerById parameters: - name: petOwnerId in: path description: ID of pet owner to return required: false schema: type: integer format: int64 responses: '200': description: successful operation content: application/xml: schema: $ref: '#/components/schemas/PetOwner' application/json: schema: $ref: '#/components/schemas/PetOwner' '400': description: Invalid ID supplied '404': description: Pet not found /petOwner/listOfServiceTrainer: get: tags: - petOwner summary: List of Service Trainers description: >- Expect boolean, but allow both true and false operationId: listOfServiceTrainer parameters: - name: tags in: query description: Boolean to filter by required: false explode: true schema: type: array items: type: boolean responses: '200': description: successful operation content: application/xml: schema: type: array items: $ref: '#/components/schemas/PetOwner' application/json: schema: type: array items: $ref: '#/components/schemas/PetOwner' '400': description: Invalid tag value /petOwner/findByPreference: get: tags: - petOwner summary: Find by Pet Owner Preferences description: >- Expect enum operationId: findByPreference parameters: - name: tags in: query description: Enum to filter by required: false explode: true schema: type: array items: type: string enum: - dog - cat - bird - fish - other default: dog responses: '200': description: successful operation content: application/xml: schema: type: array items: $ref: '#/components/schemas/PetOwner' application/json: schema: type: array items: $ref: '#/components/schemas/PetOwner' '400': description: Invalid tag value components: /petOwner/createWithList: post: tags: - petOwner summary: Creates list of pet owners with given input array operationId: petOwnerCreateWithList requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/PetOwner' responses: '200': description: successful operation content: application/xml: schema: type: array items: $ref: '#/components/schemas/PetOwner' application/json: schema: type: array items: $ref: '#/components/schemas/PetOwner' '400': description: Invalid values schemas: Pet: x-swagger-router-model: io.swagger.petstore.model.Pet required: - name - photoUrls properties: id: type: integer format: int64 example: 10 name: type: string example: doggie # remove category property petOwners: type: array items: $ref: '#/components/schemas/PetOwner' photoUrls: type: array xml: wrapped: true items: type: string xml: name: photoUrl tags: type: array xml: wrapped: true items: $ref: '#/components/schemas/Tag' xml: name: tag status: type: string description: pet status in the store enum: - available - pending - sold xml: name: pet type: object # remove ApiResponse PetOwner: type: "object" properties: id: type: "integer" format: "int64" example: 10 petId: type: "integer" format: "int64" example: 201 petOwnerFirstName: type: "string" example: "John" petOwnerLastName: type: "string" example: "Smith" petOwnerContact: type: "string" example: "john.smith@fakeemail.co" petOwnerStatus: type: "integer" format: "int32" description: "Pet Owner Status" example: 302 petOwnerPreferences: type: "string" description: "Pet Owner Preferred Pet Types" enum: - "dog" - "cat" - "bird" - "fish" - "other" petOwnerServiceTrainer: type: "boolean" description: "Pet Onwer is Service Trainer" default: false Tag: x-swagger-router-model: io.swagger.petstore.model.Tag properties: id: type: integer format: int64 name: type: string xml: name: tag type: object requestBodies: 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