@readme/oas-examples
Version:
A collection of example OpenAPI 3.x and Swagger 2.0 documents.
260 lines (259 loc) • 9.55 kB
YAML
openapi: 3.0.3
info:
title: Support for different implementations of `enum`
description: https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md#schemaObject
version: 1.0.0
servers:
- url: https://httpbin.org
tags:
- name: Enums
description: Showcasing enum handling and support
paths:
'/anything/strings':
post:
operationId: string_enumSupport
summary: String enum support
description: "Support and handling of enums on `type: string` schemas.\n\n\U0001F4DA
OpenAPI specification references:\n\n* [3.0.3 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject)\n\n*
[3.1.0 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schemaObject)"
tags:
- Enums
requestBody:
content:
application/json:
schema:
type: object
properties:
enum:
type: string
description: A regular ol' enum
enum:
- available
- pending
- sold
enum *required:
type: string
description: A regular ol' enum
enum:
- available
- pending
- sold
enum (with default):
type: string
description: This enum has a `default` of `available`.
enum:
- available
- pending
- sold
default: available
enum (with default) *required:
type: string
description: A required enum with a default (if a field is required
it should probably always have a default, eh?)
enum:
- available
- pending
- sold
default: available
enum (with example):
type: string
description: This enum has a `example` of `pending`.
enum:
- available
- pending
- sold
example: pending
enum (with example) *required:
type: string
description: This enum has a `example` of `pending` and is required.
enum:
- available
- pending
- sold
example: pending
enum (with non-value example):
type: string
description: This enum has an example that isn't part of the enum,
so the option does not get hidden
enum:
- available
- pending
- sold
example: Choose...
enum (with non-value example) *required:
type: string
description: This enum has an example that isn't part of the enum,
so the option does not get hidden
enum:
- available
- pending
- sold
example: Choose...
enum (with empty option):
type: string
description: This enum has an empty string (`""`) as one of its
available options.
enum:
- ''
- available
- pending
- sold
enum (with duplicate options):
type: string
description: This enum has multiple duplicate options, they should
get deduped in the UI
enum:
- ''
- ''
- available
- available
enum (with empty option and empty default):
type: string
description: This enum has a an empty string (`""`) as its only
available option, and that same value is set as its `default`.
enum:
- ''
default: ''
required:
- enum
- enum (with default)
- enum (with example)
- enum (with non-value example)
responses:
'200':
description: OK
get:
operationId: number_enumSupport
summary: Number enum support
description: "Support and handling of enums on `type: number` schemas.\n\n\U0001F4DA
OpenAPI specification references:\n\n* [3.0.3 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject)\n\n*
[3.1.0 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schemaObject)"
tags:
- Enums
requestBody:
content:
application/json:
schema:
type: object
properties:
enum:
type: number
description: A regular ol' enum
enum:
- 0
- 1
- 2
enum *required:
type: number
description: A regular ol' enum
enum:
- 0
- 1
- 2
enum (with default):
type: number
description: This enum has a `default` of `1`.
enum:
- 0
- 1
- 2
default: 1
enum (with default) *required:
type: number
description: A required enum with a default (if a field is required
it should probably always have a default, eh?)
enum:
- 0
- 1
- 2
default: 2
enum (with example):
type: number
description: This enum has a `example` of `1`.
enum:
- 0
- 1
- 2
example: 1
enum (with example) *required:
type: number
description: This enum has a `example` of `1` and is required.
enum:
- 0
- 1
- 2
example: 1
enum (with empty option):
type: number
description: This enum has an empty string (`""`) as one of its
available options.
enum:
- ''
- 0
- 1
- 2
enum (with duplicate options):
type: number
description: This enum has multiple duplicate options, they should
get deduped in the UI
enum:
- ''
- ''
- 0
- 2
- 2
required:
- enum
- enum (with default)
- enum (with example)
responses:
'200':
description: OK
put:
operationId: boolean_enumSupport
summary: Boolean enum support
description: "Support and handling of enums on `type: boolean` schemas.\n\n\U0001F4DA
OpenAPI specification references:\n\n* [3.0.3 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#schemaObject)\n\n*
[3.1.0 Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#schemaObject)"
tags:
- Enums
requestBody:
content:
application/json:
schema:
type: object
properties:
enum:
type: boolean
description: A regular ol' enum
enum:
- true
- false
enum *required:
type: boolean
description: A regular ol' enum
enum:
- true
- false
enum (with default):
type: boolean
description: This enum has a `default` of `false`.
enum:
- true
- false
default: false
enum (with default) *required:
type: boolean
description: A required enum with a default (if a field is required
it should probably always have a default, eh?)
enum:
- true
- false
default: true
required:
- enum
- enum (with default)
- enum (with example)
responses:
'200':
description: OK