UNPKG

@readme/oas-examples

Version:

A collection of example OpenAPI 3.x and Swagger 2.0 documents.

226 lines (225 loc) 9.68 kB
{ "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📚 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 *required", "enum (with default) *required", "enum (with example) *required", "enum (with non-value example) *required" ] } } } }, "responses": { "200": { "description": "OK" } } }, "get": { "operationId": "number_enumSupport", "summary": "Number enum support", "description": "Support and handling of enums on `type: number` schemas.\n\n📚 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 *required", "enum (with default) *required", "enum (with example) *required"] } } } }, "responses": { "200": { "description": "OK" } } }, "put": { "operationId": "boolean_enumSupport", "summary": "Boolean enum support", "description": "Support and handling of enums on `type: boolean` schemas.\n\n📚 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 *required", "enum (with default) *required", "enum (with example) *required"] } } } }, "responses": { "200": { "description": "OK" } } } } } }