github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/cmd/internal/openapi/v3/codegen/testdata/petstore3.json (about)

     1  {
     2    "openapi": "3.0.2",
     3    "info": {
     4      "title": "Swagger Petstore - OpenAPI 3.0",
     5      "description": "This is a sample Pet Store Server based on the OpenAPI 3.0 specification.  You can find out more about\nSwagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!\nYou can now help us improve the API whether it's by making changes to the definition itself or to the code.\nThat way, with time, we can improve the API in general, and expose some of the new features in OAS3.\n\nSome useful links:\n- [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)\n- [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)",
     6      "termsOfService": "http://swagger.io/terms/",
     7      "contact": {
     8        "email": "apiteam@swagger.io"
     9      },
    10      "license": {
    11        "name": "Apache 2.0",
    12        "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    13      },
    14      "version": "1.0.5"
    15    },
    16    "externalDocs": {
    17      "description": "Find out more about Swagger",
    18      "url": "http://swagger.io"
    19    },
    20    "servers": [
    21      {
    22        "url": "/api/v3"
    23      }
    24    ],
    25    "tags": [
    26      {
    27        "name": "pet",
    28        "description": "Everything about your Pets",
    29        "externalDocs": {
    30          "description": "Find out more",
    31          "url": "http://swagger.io"
    32        }
    33      },
    34      {
    35        "name": "store",
    36        "description": "Operations about user"
    37      },
    38      {
    39        "name": "user",
    40        "description": "Access to Petstore orders",
    41        "externalDocs": {
    42          "description": "Find out more about our store",
    43          "url": "http://swagger.io"
    44        }
    45      }
    46    ],
    47    "paths": {
    48      "/pet": {
    49        "put": {
    50          "tags": [
    51            "pet"
    52          ],
    53          "summary": "Update an existing pet",
    54          "description": "Update an existing pet by Id",
    55          "operationId": "updatePet",
    56          "requestBody": {
    57            "$ref": "#/components/requestBodies/Pet"
    58          },
    59          "responses": {
    60            "200": {
    61              "description": "Successful operation",
    62              "content": {
    63                "application/xml": {
    64                  "schema": {
    65                    "$ref": "#/components/schemas/Pet"
    66                  }
    67                },
    68                "application/json": {
    69                  "schema": {
    70                    "$ref": "#/components/schemas/Pet"
    71                  }
    72                }
    73              }
    74            },
    75            "400": {
    76              "description": "Invalid ID supplied"
    77            },
    78            "404": {
    79              "description": "Pet not found"
    80            },
    81            "405": {
    82              "description": "Validation exception"
    83            }
    84          },
    85          "security": [
    86            {
    87              "petstore_auth": [
    88                "write:pets",
    89                "read:pets"
    90              ]
    91            }
    92          ]
    93        },
    94        "post": {
    95          "tags": [
    96            "pet"
    97          ],
    98          "summary": "Add a new pet to the store",
    99          "description": "Add a new pet to the store",
   100          "operationId": "addPet",
   101          "requestBody": {
   102            "description": "Create a new pet in the store",
   103            "content": {
   104              "application/json": {
   105                "schema": {
   106                  "$ref": "#/components/schemas/Pet"
   107                }
   108              },
   109              "application/xml": {
   110                "schema": {
   111                  "$ref": "#/components/schemas/Pet"
   112                }
   113              },
   114              "application/x-www-form-urlencoded": {
   115                "schema": {
   116                  "$ref": "#/components/schemas/Pet"
   117                }
   118              }
   119            },
   120            "required": true
   121          },
   122          "responses": {
   123            "200": {
   124              "description": "Successful operation",
   125              "content": {
   126                "application/xml": {
   127                  "schema": {
   128                    "$ref": "#/components/schemas/Pet"
   129                  }
   130                },
   131                "application/json": {
   132                  "schema": {
   133                    "$ref": "#/components/schemas/Pet"
   134                  }
   135                }
   136              }
   137            },
   138            "405": {
   139              "description": "Invalid input"
   140            }
   141          },
   142          "security": [
   143            {
   144              "petstore_auth": [
   145                "write:pets",
   146                "read:pets"
   147              ]
   148            }
   149          ]
   150        }
   151      },
   152      "/pet/findByStatus": {
   153        "get": {
   154          "tags": [
   155            "pet"
   156          ],
   157          "summary": "Finds Pets by status",
   158          "description": "Multiple status values can be provided with comma separated strings",
   159          "operationId": "findPetsByStatus",
   160          "parameters": [
   161            {
   162              "name": "status",
   163              "in": "query",
   164              "description": "Status values that need to be considered for filter",
   165              "required": false,
   166              "explode": true,
   167              "schema": {
   168                "type": "string",
   169                "default": "available",
   170                "enum": [
   171                  "available",
   172                  "pending",
   173                  "sold"
   174                ]
   175              }
   176            }
   177          ],
   178          "responses": {
   179            "200": {
   180              "description": "successful operation",
   181              "content": {
   182                "application/xml": {
   183                  "schema": {
   184                    "type": "array",
   185                    "items": {
   186                      "$ref": "#/components/schemas/Pet"
   187                    }
   188                  }
   189                },
   190                "application/json": {
   191                  "schema": {
   192                    "type": "array",
   193                    "items": {
   194                      "$ref": "#/components/schemas/Pet"
   195                    }
   196                  }
   197                }
   198              }
   199            },
   200            "400": {
   201              "description": "Invalid status value"
   202            }
   203          },
   204          "security": [
   205            {
   206              "petstore_auth": [
   207                "write:pets",
   208                "read:pets"
   209              ]
   210            }
   211          ]
   212        }
   213      },
   214      "/pet/findByTags": {
   215        "get": {
   216          "tags": [
   217            "pet"
   218          ],
   219          "summary": "Finds Pets by tags",
   220          "description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
   221          "operationId": "findPetsByTags",
   222          "parameters": [
   223            {
   224              "name": "tags",
   225              "in": "query",
   226              "description": "Tags to filter by",
   227              "required": false,
   228              "explode": true,
   229              "schema": {
   230                "type": "array",
   231                "items": {
   232                  "type": "string"
   233                }
   234              }
   235            }
   236          ],
   237          "responses": {
   238            "200": {
   239              "description": "successful operation",
   240              "content": {
   241                "application/xml": {
   242                  "schema": {
   243                    "type": "array",
   244                    "items": {
   245                      "$ref": "#/components/schemas/Pet"
   246                    }
   247                  }
   248                },
   249                "application/json": {
   250                  "schema": {
   251                    "type": "array",
   252                    "items": {
   253                      "$ref": "#/components/schemas/Pet"
   254                    }
   255                  }
   256                }
   257              }
   258            },
   259            "400": {
   260              "description": "Invalid tag value"
   261            }
   262          },
   263          "security": [
   264            {
   265              "petstore_auth": [
   266                "write:pets",
   267                "read:pets"
   268              ]
   269            }
   270          ]
   271        }
   272      },
   273      "/pet/{petId}": {
   274        "get": {
   275          "tags": [
   276            "pet"
   277          ],
   278          "summary": "Find pet by ID",
   279          "description": "Returns a single pet",
   280          "operationId": "getPetById",
   281          "parameters": [
   282            {
   283              "name": "petId",
   284              "in": "path",
   285              "description": "ID of pet to return",
   286              "required": true,
   287              "schema": {
   288                "type": "integer",
   289                "format": "int64"
   290              }
   291            }
   292          ],
   293          "responses": {
   294            "200": {
   295              "description": "successful operation",
   296              "content": {
   297                "application/xml": {
   298                  "schema": {
   299                    "$ref": "#/components/schemas/Pet"
   300                  }
   301                },
   302                "application/json": {
   303                  "schema": {
   304                    "$ref": "#/components/schemas/Pet"
   305                  }
   306                }
   307              }
   308            },
   309            "400": {
   310              "description": "Invalid ID supplied"
   311            },
   312            "404": {
   313              "description": "Pet not found"
   314            }
   315          },
   316          "security": [
   317            {
   318              "api_key": []
   319            },
   320            {
   321              "petstore_auth": [
   322                "write:pets",
   323                "read:pets"
   324              ]
   325            }
   326          ]
   327        },
   328        "post": {
   329          "tags": [
   330            "pet"
   331          ],
   332          "summary": "Updates a pet in the store with form data",
   333          "description": "",
   334          "operationId": "updatePetWithForm",
   335          "parameters": [
   336            {
   337              "name": "petId",
   338              "in": "path",
   339              "description": "ID of pet that needs to be updated",
   340              "required": true,
   341              "schema": {
   342                "type": "integer",
   343                "format": "int64"
   344              }
   345            },
   346            {
   347              "name": "name",
   348              "in": "query",
   349              "description": "Name of pet that needs to be updated",
   350              "schema": {
   351                "type": "string"
   352              }
   353            },
   354            {
   355              "name": "status",
   356              "in": "query",
   357              "description": "Status of pet that needs to be updated",
   358              "schema": {
   359                "type": "string"
   360              }
   361            }
   362          ],
   363          "responses": {
   364            "405": {
   365              "description": "Invalid input"
   366            }
   367          },
   368          "security": [
   369            {
   370              "petstore_auth": [
   371                "write:pets",
   372                "read:pets"
   373              ]
   374            }
   375          ]
   376        },
   377        "delete": {
   378          "tags": [
   379            "pet"
   380          ],
   381          "summary": "Deletes a pet",
   382          "description": "",
   383          "operationId": "deletePet",
   384          "parameters": [
   385            {
   386              "name": "api_key",
   387              "in": "header",
   388              "description": "",
   389              "required": false,
   390              "schema": {
   391                "type": "string"
   392              }
   393            },
   394            {
   395              "name": "petId",
   396              "in": "path",
   397              "description": "Pet id to delete",
   398              "required": true,
   399              "schema": {
   400                "type": "integer",
   401                "format": "int64"
   402              }
   403            }
   404          ],
   405          "responses": {
   406            "400": {
   407              "description": "Invalid pet value"
   408            }
   409          },
   410          "security": [
   411            {
   412              "petstore_auth": [
   413                "write:pets",
   414                "read:pets"
   415              ]
   416            }
   417          ]
   418        }
   419      },
   420      "/pet/{petId}/uploadImage": {
   421        "post": {
   422          "tags": [
   423            "pet"
   424          ],
   425          "summary": "uploads an image",
   426          "description": "",
   427          "operationId": "uploadFile",
   428          "parameters": [
   429            {
   430              "name": "petId",
   431              "in": "path",
   432              "description": "ID of pet to update",
   433              "required": true,
   434              "schema": {
   435                "type": "integer",
   436                "format": "int64"
   437              }
   438            },
   439            {
   440              "name": "additionalMetadata",
   441              "in": "query",
   442              "description": "Additional Metadata",
   443              "required": false,
   444              "schema": {
   445                "type": "string"
   446              }
   447            }
   448          ],
   449          "requestBody": {
   450            "content": {
   451              "application/octet-stream": {
   452                "schema": {
   453                  "type": "string",
   454                  "format": "binary"
   455                }
   456              }
   457            }
   458          },
   459          "responses": {
   460            "200": {
   461              "description": "successful operation",
   462              "content": {
   463                "application/json": {
   464                  "schema": {
   465                    "$ref": "#/components/schemas/ApiResponse"
   466                  }
   467                }
   468              }
   469            }
   470          },
   471          "security": [
   472            {
   473              "petstore_auth": [
   474                "write:pets",
   475                "read:pets"
   476              ]
   477            }
   478          ]
   479        }
   480      },
   481      "/store/inventory": {
   482        "get": {
   483          "tags": [
   484            "store"
   485          ],
   486          "summary": "Returns pet inventories by status",
   487          "description": "Returns a map of status codes to quantities",
   488          "operationId": "getInventory",
   489          "responses": {
   490            "200": {
   491              "description": "successful operation",
   492              "content": {
   493                "application/json": {
   494                  "schema": {
   495                    "type": "object",
   496                    "additionalProperties": {
   497                      "type": "integer",
   498                      "format": "int32"
   499                    }
   500                  }
   501                }
   502              }
   503            }
   504          },
   505          "security": [
   506            {
   507              "api_key": []
   508            }
   509          ]
   510        }
   511      },
   512      "/store/order": {
   513        "post": {
   514          "tags": [
   515            "store"
   516          ],
   517          "summary": "Place an order for a pet",
   518          "description": "Place a new order in the store",
   519          "operationId": "placeOrder",
   520          "requestBody": {
   521            "content": {
   522              "application/json": {
   523                "schema": {
   524                  "$ref": "#/components/schemas/Order"
   525                }
   526              },
   527              "application/xml": {
   528                "schema": {
   529                  "$ref": "#/components/schemas/Order"
   530                }
   531              },
   532              "application/x-www-form-urlencoded": {
   533                "schema": {
   534                  "$ref": "#/components/schemas/Order"
   535                }
   536              }
   537            }
   538          },
   539          "responses": {
   540            "200": {
   541              "description": "successful operation",
   542              "content": {
   543                "application/json": {
   544                  "schema": {
   545                    "$ref": "#/components/schemas/Order"
   546                  }
   547                }
   548              }
   549            },
   550            "405": {
   551              "description": "Invalid input"
   552            }
   553          }
   554        }
   555      },
   556      "/store/order/{orderId}": {
   557        "get": {
   558          "tags": [
   559            "store"
   560          ],
   561          "summary": "Find purchase order by ID",
   562          "description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions",
   563          "operationId": "getOrderById",
   564          "parameters": [
   565            {
   566              "name": "orderId",
   567              "in": "path",
   568              "description": "ID of order that needs to be fetched",
   569              "required": true,
   570              "schema": {
   571                "type": "integer",
   572                "format": "int64"
   573              }
   574            }
   575          ],
   576          "responses": {
   577            "200": {
   578              "description": "successful operation",
   579              "content": {
   580                "application/xml": {
   581                  "schema": {
   582                    "$ref": "#/components/schemas/Order"
   583                  }
   584                },
   585                "application/json": {
   586                  "schema": {
   587                    "$ref": "#/components/schemas/Order"
   588                  }
   589                }
   590              }
   591            },
   592            "400": {
   593              "description": "Invalid ID supplied"
   594            },
   595            "404": {
   596              "description": "Order not found"
   597            }
   598          }
   599        },
   600        "delete": {
   601          "tags": [
   602            "store"
   603          ],
   604          "summary": "Delete purchase order by ID",
   605          "description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
   606          "operationId": "deleteOrder",
   607          "parameters": [
   608            {
   609              "name": "orderId",
   610              "in": "path",
   611              "description": "ID of the order that needs to be deleted",
   612              "required": true,
   613              "schema": {
   614                "type": "integer",
   615                "format": "int64"
   616              }
   617            }
   618          ],
   619          "responses": {
   620            "400": {
   621              "description": "Invalid ID supplied"
   622            },
   623            "404": {
   624              "description": "Order not found"
   625            }
   626          }
   627        }
   628      },
   629      "/user": {
   630        "post": {
   631          "tags": [
   632            "user"
   633          ],
   634          "summary": "Create user",
   635          "description": "This can only be done by the logged in user.",
   636          "operationId": "createUser",
   637          "requestBody": {
   638            "description": "Created user object",
   639            "content": {
   640              "application/json": {
   641                "schema": {
   642                  "$ref": "#/components/schemas/User"
   643                }
   644              },
   645              "application/xml": {
   646                "schema": {
   647                  "$ref": "#/components/schemas/User"
   648                }
   649              },
   650              "application/x-www-form-urlencoded": {
   651                "schema": {
   652                  "$ref": "#/components/schemas/User"
   653                }
   654              }
   655            }
   656          },
   657          "responses": {
   658            "default": {
   659              "description": "successful operation",
   660              "content": {
   661                "application/json": {
   662                  "schema": {
   663                    "$ref": "#/components/schemas/User"
   664                  }
   665                },
   666                "application/xml": {
   667                  "schema": {
   668                    "$ref": "#/components/schemas/User"
   669                  }
   670                }
   671              }
   672            }
   673          }
   674        }
   675      },
   676      "/user/createWithList": {
   677        "post": {
   678          "tags": [
   679            "user"
   680          ],
   681          "summary": "Creates list of users with given input array",
   682          "description": "Creates list of users with given input array",
   683          "operationId": "createUsersWithListInput",
   684          "requestBody": {
   685            "content": {
   686              "application/json": {
   687                "schema": {
   688                  "type": "array",
   689                  "items": {
   690                    "$ref": "#/components/schemas/User"
   691                  }
   692                }
   693              }
   694            }
   695          },
   696          "responses": {
   697            "200": {
   698              "description": "Successful operation",
   699              "content": {
   700                "application/xml": {
   701                  "schema": {
   702                    "$ref": "#/components/schemas/User"
   703                  }
   704                },
   705                "application/json": {
   706                  "schema": {
   707                    "$ref": "#/components/schemas/User"
   708                  }
   709                }
   710              }
   711            },
   712            "default": {
   713              "description": "successful operation"
   714            }
   715          }
   716        }
   717      },
   718      "/user/login": {
   719        "get": {
   720          "tags": [
   721            "user"
   722          ],
   723          "summary": "Logs user into the system",
   724          "description": "",
   725          "operationId": "loginUser",
   726          "parameters": [
   727            {
   728              "name": "username",
   729              "in": "query",
   730              "description": "The user name for login",
   731              "required": false,
   732              "schema": {
   733                "type": "string"
   734              }
   735            },
   736            {
   737              "name": "password",
   738              "in": "query",
   739              "description": "The password for login in clear text",
   740              "required": false,
   741              "schema": {
   742                "type": "string"
   743              }
   744            }
   745          ],
   746          "responses": {
   747            "200": {
   748              "description": "successful operation",
   749              "headers": {
   750                "X-Rate-Limit": {
   751                  "description": "calls per hour allowed by the user",
   752                  "schema": {
   753                    "type": "integer",
   754                    "format": "int32"
   755                  }
   756                },
   757                "X-Expires-After": {
   758                  "description": "date in UTC when toekn expires",
   759                  "schema": {
   760                    "type": "string",
   761                    "format": "date-time"
   762                  }
   763                }
   764              },
   765              "content": {
   766                "application/xml": {
   767                  "schema": {
   768                    "type": "string"
   769                  }
   770                },
   771                "application/json": {
   772                  "schema": {
   773                    "type": "string"
   774                  }
   775                }
   776              }
   777            },
   778            "400": {
   779              "description": "Invalid username/password supplied"
   780            }
   781          }
   782        }
   783      },
   784      "/user/logout": {
   785        "get": {
   786          "tags": [
   787            "user"
   788          ],
   789          "summary": "Logs out current logged in user session",
   790          "description": "",
   791          "operationId": "logoutUser",
   792          "parameters": [],
   793          "responses": {
   794            "default": {
   795              "description": "successful operation"
   796            }
   797          }
   798        }
   799      },
   800      "/user/{username}": {
   801        "get": {
   802          "tags": [
   803            "user"
   804          ],
   805          "summary": "Get user by user name",
   806          "description": "",
   807          "operationId": "getUserByName",
   808          "parameters": [
   809            {
   810              "name": "username",
   811              "in": "path",
   812              "description": "The name that needs to be fetched. Use user1 for testing. ",
   813              "required": true,
   814              "schema": {
   815                "type": "string"
   816              }
   817            }
   818          ],
   819          "responses": {
   820            "200": {
   821              "description": "successful operation",
   822              "content": {
   823                "application/xml": {
   824                  "schema": {
   825                    "$ref": "#/components/schemas/User"
   826                  }
   827                },
   828                "application/json": {
   829                  "schema": {
   830                    "$ref": "#/components/schemas/User"
   831                  }
   832                }
   833              }
   834            },
   835            "400": {
   836              "description": "Invalid username supplied"
   837            },
   838            "404": {
   839              "description": "User not found"
   840            }
   841          }
   842        },
   843        "put": {
   844          "tags": [
   845            "user"
   846          ],
   847          "summary": "Update user",
   848          "description": "This can only be done by the logged in user.",
   849          "operationId": "updateUser",
   850          "parameters": [
   851            {
   852              "name": "username",
   853              "in": "path",
   854              "description": "name that need to be deleted",
   855              "required": true,
   856              "schema": {
   857                "type": "string"
   858              }
   859            }
   860          ],
   861          "requestBody": {
   862            "description": "Update an existent user in the store",
   863            "content": {
   864              "application/json": {
   865                "schema": {
   866                  "$ref": "#/components/schemas/User"
   867                }
   868              },
   869              "application/xml": {
   870                "schema": {
   871                  "$ref": "#/components/schemas/User"
   872                }
   873              },
   874              "application/x-www-form-urlencoded": {
   875                "schema": {
   876                  "$ref": "#/components/schemas/User"
   877                }
   878              }
   879            }
   880          },
   881          "responses": {
   882            "default": {
   883              "description": "successful operation"
   884            }
   885          }
   886        },
   887        "delete": {
   888          "tags": [
   889            "user"
   890          ],
   891          "summary": "Delete user",
   892          "description": "This can only be done by the logged in user.",
   893          "operationId": "deleteUser",
   894          "parameters": [
   895            {
   896              "name": "username",
   897              "in": "path",
   898              "description": "The name that needs to be deleted",
   899              "required": true,
   900              "schema": {
   901                "type": "string"
   902              }
   903            }
   904          ],
   905          "responses": {
   906            "400": {
   907              "description": "Invalid username supplied"
   908            },
   909            "404": {
   910              "description": "User not found"
   911            }
   912          }
   913        }
   914      }
   915    },
   916    "components": {
   917      "schemas": {
   918        "Order": {
   919          "type": "object",
   920          "required": [
   921            "petId",
   922            "shipDate"
   923          ],
   924          "properties": {
   925            "id": {
   926              "type": "integer",
   927              "format": "int64",
   928              "example": 10
   929            },
   930            "petId": {
   931              "type": "integer",
   932              "format": "int64",
   933              "example": 198772
   934            },
   935            "quantity": {
   936              "type": "integer",
   937              "format": "int32",
   938              "example": 7
   939            },
   940            "shipDate": {
   941              "type": "string",
   942              "format": "date-time"
   943            },
   944            "status": {
   945              "type": "string",
   946              "description": "Order Status",
   947              "example": "approved",
   948              "enum": [
   949                "placed",
   950                "approved",
   951                "delivered"
   952              ]
   953            },
   954            "complete": {
   955              "type": "boolean"
   956            },
   957            "customer": {
   958              "type": "object",
   959              "description": "客户信息结构体\n用于描述客户相关的信息",
   960              "properties": {
   961                "id": {
   962                  "type": "integer",
   963                  "format": "int64",
   964                  "example": 100000,
   965                  "description": "用户ID"
   966                },
   967                "username": {
   968                  "type": "string",
   969                  "example": "fehguy",
   970                  "description": "用户名"
   971                },
   972                "address": {
   973                  "type": "array",
   974                  "xml": {
   975                    "name": "addresses",
   976                    "wrapped": true
   977                  },
   978                  "items": {
   979                    "$ref": "#/components/schemas/Address"
   980                  },
   981                  "description": "用户地址\n例如:北京海淀区xxx街道\n某某小区"
   982                }
   983              },
   984              "xml": {
   985                "name": "customer"
   986              }
   987            }
   988          },
   989          "xml": {
   990            "name": "order"
   991          }
   992        },
   993        "Customer": {
   994          "type": "object",
   995          "properties": {
   996            "id": {
   997              "type": "integer",
   998              "format": "int64",
   999              "example": 100000
  1000            },
  1001            "username": {
  1002              "type": "string",
  1003              "example": "fehguy"
  1004            },
  1005            "address": {
  1006              "type": "array",
  1007              "xml": {
  1008                "name": "addresses",
  1009                "wrapped": true
  1010              },
  1011              "items": {
  1012                "$ref": "#/components/schemas/Address"
  1013              }
  1014            }
  1015          },
  1016          "xml": {
  1017            "name": "customer"
  1018          }
  1019        },
  1020        "Address": {
  1021          "type": "object",
  1022          "properties": {
  1023            "street": {
  1024              "type": "string",
  1025              "example": "437 Lytton"
  1026            },
  1027            "city": {
  1028              "type": "string",
  1029              "example": "Palo Alto"
  1030            },
  1031            "state": {
  1032              "type": "string",
  1033              "example": "CA"
  1034            },
  1035            "zip": {
  1036              "type": "string",
  1037              "example": "94301"
  1038            }
  1039          },
  1040          "xml": {
  1041            "name": "address"
  1042          }
  1043        },
  1044        "Category": {
  1045          "type": "object",
  1046          "properties": {
  1047            "id": {
  1048              "type": "integer",
  1049              "format": "int64",
  1050              "example": 1
  1051            },
  1052            "name": {
  1053              "type": "string",
  1054              "example": "Dogs"
  1055            }
  1056          },
  1057          "xml": {
  1058            "name": "category"
  1059          }
  1060        },
  1061        "User": {
  1062          "type": "object",
  1063          "properties": {
  1064            "id": {
  1065              "type": "integer",
  1066              "format": "int64",
  1067              "example": 10
  1068            },
  1069            "username": {
  1070              "type": "string",
  1071              "example": "theUser"
  1072            },
  1073            "firstName": {
  1074              "type": "string",
  1075              "example": "John"
  1076            },
  1077            "lastName": {
  1078              "type": "string",
  1079              "example": "James"
  1080            },
  1081            "email": {
  1082              "type": "string",
  1083              "example": "john@email.com"
  1084            },
  1085            "password": {
  1086              "type": "string",
  1087              "example": "12345"
  1088            },
  1089            "phone": {
  1090              "type": "string",
  1091              "example": "12345"
  1092            },
  1093            "userStatus": {
  1094              "type": "integer",
  1095              "description": "User Status",
  1096              "format": "int32",
  1097              "example": 1
  1098            },
  1099            "avatar": {
  1100              "type": "string",
  1101              "format": "binary"
  1102            },
  1103            "additional1": {
  1104              "type": "object",
  1105              "additionalProperties": {
  1106                "type": "string",
  1107                "format": "int64"
  1108              }
  1109            },
  1110            "additional2": {
  1111              "type": "object",
  1112              "additionalProperties": {
  1113                "$ref": "#/components/schemas/Tag"
  1114              }
  1115            }
  1116          },
  1117          "xml": {
  1118            "name": "user"
  1119          }
  1120        },
  1121        "Tag": {
  1122          "type": "object",
  1123          "properties": {
  1124            "id": {
  1125              "type": "integer",
  1126              "format": "int64"
  1127            },
  1128            "name": {
  1129              "type": "string",
  1130              "format": "tag"
  1131            }
  1132          },
  1133          "xml": {
  1134            "name": "tag"
  1135          }
  1136        },
  1137        "Pet": {
  1138          "required": [
  1139            "name",
  1140            "photoUrls"
  1141          ],
  1142          "type": "object",
  1143          "properties": {
  1144            "id": {
  1145              "type": "integer",
  1146              "format": "int64",
  1147              "example": 10
  1148            },
  1149            "name": {
  1150              "type": "string",
  1151              "example": "doggie",
  1152              "format": "dog"
  1153            },
  1154            "category": {
  1155              "$ref": "#/components/schemas/Category"
  1156            },
  1157            "photoUrls": {
  1158              "type": "array",
  1159              "xml": {
  1160                "wrapped": true
  1161              },
  1162              "items": {
  1163                "type": "string",
  1164                "xml": {
  1165                  "name": "photoUrl"
  1166                },
  1167                "format": "image"
  1168              }
  1169            },
  1170            "tags": {
  1171              "type": "array",
  1172              "xml": {
  1173                "wrapped": true
  1174              },
  1175              "items": {
  1176                "$ref": "#/components/schemas/Tag"
  1177              }
  1178            },
  1179            "status": {
  1180              "type": "string",
  1181              "description": "pet status in the store\nthis is another line for test use",
  1182              "enum": [
  1183                "available",
  1184                "pending",
  1185                "sold"
  1186              ]
  1187            }
  1188          },
  1189          "xml": {
  1190            "name": "pet"
  1191          }
  1192        },
  1193        "ApiResponse": {
  1194          "type": "object",
  1195          "properties": {
  1196            "code": {
  1197              "type": "integer",
  1198              "format": "int32"
  1199            },
  1200            "type": {
  1201              "type": "string"
  1202            },
  1203            "message": {
  1204              "type": "string"
  1205            }
  1206          },
  1207          "xml": {
  1208            "name": "##default"
  1209          }
  1210        }
  1211      },
  1212      "requestBodies": {
  1213        "Pet": {
  1214          "description": "Pet object that needs to be added to the store",
  1215          "content": {
  1216            "application/json": {
  1217              "schema": {
  1218                "$ref": "#/components/schemas/Pet"
  1219              }
  1220            },
  1221            "application/xml": {
  1222              "schema": {
  1223                "$ref": "#/components/schemas/Pet"
  1224              }
  1225            }
  1226          }
  1227        },
  1228        "UserArray": {
  1229          "description": "List of user object",
  1230          "content": {
  1231            "application/json": {
  1232              "schema": {
  1233                "type": "array",
  1234                "items": {
  1235                  "$ref": "#/components/schemas/User"
  1236                }
  1237              }
  1238            }
  1239          }
  1240        }
  1241      },
  1242      "securitySchemes": {
  1243        "petstore_auth": {
  1244          "type": "oauth2",
  1245          "flows": {
  1246            "implicit": {
  1247              "authorizationUrl": "https://petstore3.swagger.io/oauth/authorize",
  1248              "scopes": {
  1249                "write:pets": "modify pets in your account",
  1250                "read:pets": "read your pets"
  1251              }
  1252            }
  1253          }
  1254        },
  1255        "api_key": {
  1256          "type": "apiKey",
  1257          "name": "api_key",
  1258          "in": "header"
  1259        }
  1260      }
  1261    }
  1262  }