Created by: grokify
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
and./bin/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,3.1.x
,4.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
Description of the PR
As more specs start to use OpenAPI 3.0 native features, it is becoming more important to test them.
This PR adds a petstore-3.0-native.yaml
spec to contain native OpenAPI 3.0 spec artifacts, like oneOf
, as opposed to be converted from a 2.0 spec. This is based on resources/3_0/petstore.yaml
and currently contains the additional PATCH /pets
endpoint as seen below. More will be added to this spec so we can have a test spec as we build out OAS3 features.
https://swagger.io/docs/specification/data-models/oneof-anyof-allof-not/
This has been validated here:
https://mermade.org.uk/openapi-converter
paths:
/pets:
patch:
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
responses:
'200':
description: Updated
components:
schemas:
Dog:
type: object
properties:
bark:
type: boolean
breed:
type: string
enum: [Dingo, Husky, Retriever, Shepherd]
Cat:
type: object
properties:
hunts:
type: boolean
age:
type: integer