You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

CPS-774 - Getting issue details... STATUS


What Is OpenAPI?

OpenAPI Specification (formerly Swagger Specification) is an API description format for REST APIs. An OpenAPI file allows you to describe your entire API, including:

  • Available endpoints (/users) and operations on each endpoint (GET /users, POST /users)
  • Operation parameters Input and output for each operation
  • Authentication methods
  • Contact information, license, terms of use and other information.

Adding Examples

You can add examples to parameters, properties and objects to make OpenAPI specification of your web service clearer. Examples can be read by tools and libraries that process your API in some way. To specify an example, you use the example or examples keys.

Request and Response Body Examples

Here is an example of the examples keyword in a request body:

requestBody:
required: true
content:
application/json:
schema:
type: string
examples:
dataSample:
value:
test:bookstore:
bookstore-name: Chapters
categories:
- code: 01
name: SciFi
- code: 02
name: kids

All request and response body examples in CPS will be added at the object level.

Parameter Examples


Here is an example of a parameter value: 

dataspaceNameInPath:
name: dataspace-name
in: path
description: dataspace-name
required: true
schema:
type: string
example: DataspaceName1

Reusing Examples:

You can define common examples in the components/examples section of your specification and then re-use them in various parameter descriptions, request and response body descriptions, objects and properties:

Sample example defined in components.yaml

components:
examples:
dataSample:
value:
test:bookstore:
bookstore-name: Chapters
categories:
- code: 01
name: SciFi
- code: 02
name: kids
summary: A sample data

Sample response using examples defined in components:
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
examples:
         dataSample:
$ref: 'components.yml#/components/examples/dataSample'

Sample request using examples defined in components:
requestBody:
required: true
content:
application/json:
schema:
type: string
examples:
       dataSample:
$ref: 'components.yml#/components/examples/dataSample'









  • No labels