这个问题是对 此同类 - 由于@Helen要求提出一个新问题。
似乎一个数组类型的模式只接受 "example",而不是 "example"。 下面的模式会在 编辑.swagger.io 网站。
info:
title: Example Inc. REST API version 1.0
version: '1.0'
openapi: 3.0.0
components:
schemas:
user_reference:
properties:
comment:
type: string
middle_name:
type: string
domain:
pattern: '^[0-9A-Za-z][0-9A-Za-z.-]*$'
type: string
id:
minimum: 1
type: integer
first_name:
type: string
last_name:
type: string
username:
pattern: '^[0-9A-Za-z_.@-]+$'
type: string
type: object
owners_reference_list:
type: array
items:
$ref: '#/components/schemas/user_reference'
examples:
by_site:
summary: Access by site and username
value:
- domain: example.com
username: jsmith
by_id:
value:
- id: 14
summary: Access by id
by_other:
summary: Access by other attributes
value:
- middle_name: X.
last_name: Smith
comments: Standard user
first_name: John
responses:
ok:
content:
application/json:
schema:
type: string
description: |
...
paths:
/users:
description: |
A user account ...
get:
parameters:
- description: |
...
content:
application/json:
schema:
$ref: '#/components/schemas/owners_reference_list'
name: owners_ref
required: false
in: query
responses:
'200':
$ref: '#/components/responses/ok'
但如果我把 "examples "属性换成 "examples",比如:
owners_reference_list:
type: array
items:
$ref: '#/components/schemas/user_reference'
example:
- domain: example.com
username: jsmith
就可以正常工作了。
参考问题的回答是Swagger Editor 3.6.21支持 "examples",而@Helen的评论说editor.swagger.io站点使用的是3.8.3版本。
模式不支持多个 examples
他们只支持单一的 example
.
多重 examples
只能用在。
requestBody.content.<media-type>.examples
responses.<code>.content.<media-type>.examples
content
关键字 <parameter>.content.<media-type>.examples