Swagger OAS3.0在同一响应代码中有多个响应

Swagger OAS3.0在同一响应代码中有多个响应,swagger,swagger-editor,Swagger,Swagger Editor,我正在使用Swagger Hub生成API,并希望获得get请求的多个响应: 下面是我如何定义API的。当我执行API时,我只得到一个类别的响应。如何将所有三个类别定义为响应?非常感谢您的帮助 openapi:3.0.0 信息: 描述:这是Core的示例API 版本:1.0.0 标题:德加核心API 标签: -名称:核心 说明:与Core相关的操作 路径: /类别: 获取: 标签: -核心 摘要:获取所有类别 描述:这是为了获取所有可用类别 响应: '200': 描述:好的 内容: 应用程序/

我正在使用Swagger Hub生成API,并希望获得get请求的多个响应:

下面是我如何定义API的。当我执行API时,我只得到一个类别的响应。如何将所有三个类别定义为响应?非常感谢您的帮助

openapi:3.0.0 信息: 描述:这是Core的示例API 版本:1.0.0 标题:德加核心API 标签: -名称:核心 说明:与Core相关的操作 路径: /类别: 获取: 标签: -核心 摘要:获取所有类别 描述:这是为了获取所有可用类别 响应: '200': 描述:好的 内容: 应用程序/json: 模式: 类型:数组 项目: $ref:“/components/schemas/CategoryItem” 示例: 类别1: $ref:“/components/examples/category1” 类别2: $ref:“/components/examples/category2” 类别3: $ref:“/components/examples/category3” 组件: 模式: 类别项目: 类型:对象 必修的: -身份证 -名字 -鼻涕虫 -创建数据 特性: 身份证件: 类型:字符串 格式:uuid 示例:d290f1ee-6c54-4b01-90e6-d701748f0851 姓名: 类型:字符串 示例:第1类 鼻涕虫: 类型:字符串 示例:1类 说明: 类型:字符串 示例:这是一个示例类别 起源: 类型:字符串 示例:null 创建日期: 类型:字符串 格式:日期时间 示例:“2016-08-29T09:12:33.001Z” 示例: 类别1: 价值: id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第一类 蛞蝓:1类 说明:这是类别1的示例说明 父项:null createdDate:“2016-08-29T09:12:33.001Z” 类别2: 价值: id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第2类 蛞蝓:2类 说明:这是类别2的示例说明 父项:null createdDate:“2016-08-29T09:12:33.001Z” 类别3: 价值: id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第3类 蛞蝓:3类 说明:这是类别3的示例说明 父项:d290f1ee-6c54-4b01-90e6-d701748f0851 createdDate:“2016-08-29T09:12:33.001Z” 服务器:
-网址:'https://virtserver.swaggerhub.com/factly/test/1.0.0“因此,您的响应是一个对象数组,您希望指定包含多个项的数组的响应示例

有几种方法可以为数组响应指定示例,但在任何情况下,示例都必须是完整的示例,也就是说,您不能引用示例的某些部分,例如单个数组项的值。换句话说,示例值不能从部分$refs生成

您可以将示例与type:array:

内容: 应用程序/json: 模式: 类型:数组 项目: $ref:“/components/schemas/CategoryItem” 例子: -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第一类 蛞蝓:1类 说明:这是类别1的示例说明 createdDate:“2016-08-29T09:12:33.001Z” -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第2类 蛞蝓:2类 说明:这是类别2的示例说明 createdDate:“2016-08-29T09:12:33.001Z” -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第3类 蛞蝓:3类 说明:这是类别3的示例说明 父项:d290f1ee-6c54-4b01-90e6-d701748f0851 createdDate:“2016-08-29T09:12:33.001Z” 或者在响应模式旁边添加示例:

内容: 应用程序/json: 模式: 类型:数组 项目: $ref:“/components/schemas/CategoryItem” 例子: -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第一类 蛞蝓:1类 说明:这是类别1的示例说明 createdDate:“2016-08-29T09:12:33.001Z” -id:d290f1ee-6c54-4b01-90e6-d701748f0851 . .. 或者,如果要为示例指定描述,请使用示例关键字复数,如下所示。但这些例子目前都在Swagger UI中

内容: 应用程序/json: 模式: 类型:数组 项目: $ref:“/components/schemas/CategoryItem” 示例: 包含三个项目的类别: 摘要:包含三个项目的类别示例 价值: -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第一类 蛞蝓:1类 说明:这是类别1的示例说明 createdDate:“2016-08-29T09:12:33.001Z” -id:d290f1ee-6c54-4b01-90e6-d701748f0851 ... 或者将整个示例放到components/example部分并$ref它。请再次注意,我们只能引用整个示例,而不能引用示例的一部分

内容: 应用程序/json: 模式: 类型:数组 项目: $ref:“/components/schemas/CategoryItem” 示例: 包含三个项目的类别: $ref:“/components/examples/categoryWithThreeItems” 组件: 示例: 包含三个项目的类别: 摘要:包含三个项目的类别示例 价值: -id:d290f1ee-6c54-4b01-90e6-d701748f0851 名称:第一类 蛞蝓:1类 说明:这是类别1的示例说明 createdDate:“2016-08-29T09:12:33.001Z” -id:d290f1ee-6c54-4b01-90e6-d701748f0851 ...
你能澄清一下你所说的将这三个类别都定义为响应是什么意思吗?您是否希望mock按顺序遍历category1、category2和category3响应?还是别的?嗨,海伦,谢谢你的回复。当我查询API时,我用期望的响应对象更新了问题。谢谢。关于OpenAPI 2.0的类似问题:,你好,海伦,再次感谢您的详细回复。我正在寻找一个示例可重用的解决方案。我之所以使用$ref:“/components/examples/category1”是为了在其他响应中重用该类别?我添加了一个使用/components/examples指定数组值的示例。对于原始问题中的category1、category2等示例,您可以将它们作为独立示例使用,例如在接受/返回单个类别的资源中,但不可能通过组合$ref'参考示例来构建数组示例$在示例和示例中未解析引用..值;这些键的内容按原样作为文本示例值。