mirror of
https://github.com/correl/openapi-core.git
synced 2024-11-24 19:19:56 +00:00
199 lines
4.4 KiB
YAML
199 lines
4.4 KiB
YAML
openapi: "3.0.0"
|
|
info:
|
|
version: 1.0.0
|
|
title: Swagger Petstore
|
|
license:
|
|
name: MIT
|
|
servers:
|
|
- url: http://petstore.swagger.io/{version}
|
|
variables:
|
|
version:
|
|
enum:
|
|
- v1
|
|
- v2
|
|
default: v1
|
|
paths:
|
|
/pets:
|
|
get:
|
|
summary: List all pets
|
|
operationId: listPets
|
|
tags:
|
|
- pets
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
default: 1
|
|
- name: limit
|
|
in: query
|
|
description: How many items to return at one time (max 100)
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
format: int32
|
|
nullable: true
|
|
- name: search
|
|
in: query
|
|
description: Search query
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
allowEmptyValue: true
|
|
- name: ids
|
|
in: query
|
|
description: Filter pets with Ids
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
format: int32
|
|
- name: tags
|
|
in: query
|
|
description: Filter pets with tags
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Tag"
|
|
explode: false
|
|
responses:
|
|
'200':
|
|
description: An paged array of pets
|
|
headers:
|
|
x-next:
|
|
description: A link to the next page of responses
|
|
schema:
|
|
type: string
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PetsData"
|
|
post:
|
|
summary: Create a pet
|
|
operationId: createPets
|
|
tags:
|
|
- pets
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PetCreate'
|
|
responses:
|
|
'201':
|
|
description: Null response
|
|
default:
|
|
description: unexpected error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|
|
/pets/{petId}:
|
|
get:
|
|
summary: Info for a specific pet
|
|
operationId: showPetById
|
|
tags:
|
|
- pets
|
|
parameters:
|
|
- name: petId
|
|
in: path
|
|
required: true
|
|
description: The id of the pet to retrieve
|
|
schema:
|
|
type: integer
|
|
format: int64
|
|
responses:
|
|
'200':
|
|
description: Expected response to a valid request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/PetData"
|
|
default:
|
|
$ref: "#/components/responses/ErrorResponse"
|
|
components:
|
|
schemas:
|
|
Address:
|
|
type: object
|
|
x-model: Address
|
|
required:
|
|
- city
|
|
properties:
|
|
street:
|
|
type: string
|
|
city:
|
|
type: string
|
|
Tag:
|
|
type: string
|
|
enum:
|
|
- cats
|
|
- dogs
|
|
- birds
|
|
Position:
|
|
type: integer
|
|
enum:
|
|
- 1
|
|
- 2
|
|
- 3
|
|
Pet:
|
|
type: object
|
|
x-model: Pet
|
|
allOf:
|
|
- $ref: "#/components/schemas/PetCreate"
|
|
required:
|
|
- id
|
|
properties:
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
PetCreate:
|
|
type: object
|
|
x-model: PetCreate
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
tag:
|
|
$ref: "#/components/schemas/Tag"
|
|
address:
|
|
$ref: "#/components/schemas/Address"
|
|
position:
|
|
$ref: "#/components/schemas/Position"
|
|
Pets:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/Pet"
|
|
PetsData:
|
|
type: object
|
|
required:
|
|
- data
|
|
properties:
|
|
data:
|
|
$ref: "#/components/schemas/Pets"
|
|
PetData:
|
|
type: object
|
|
required:
|
|
- data
|
|
properties:
|
|
data:
|
|
$ref: "#/components/schemas/Pet"
|
|
Error:
|
|
type: object
|
|
required:
|
|
- code
|
|
- message
|
|
properties:
|
|
code:
|
|
type: integer
|
|
format: int32
|
|
message:
|
|
type: string
|
|
responses:
|
|
ErrorResponse:
|
|
description: unexpected error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/Error"
|