Rest 基元类型的Swagger定义
是否可以为基元类型定义虚张声势定义/模型?例如,考虑下面的Rest 基元类型的Swagger定义,rest,swagger,Rest,Swagger,是否可以为基元类型定义虚张声势定义/模型?例如,考虑下面的 definitions: program_name: type: string description: Unique string id 但是,上面的示例返回时出现了许多错误(例如,swagger需要一个属性字段),并且没有任何示例使用的定义不是类型:object 其目的是将其用作另一个模型的子组件以及参数——以某种方式重用已定义的组件 把这看作是一种炫耀 编辑:根据规范,定义对象与模式对象相同,表示它可以接受基
definitions:
program_name:
type: string
description: Unique string id
但是,上面的示例返回时出现了许多错误(例如,swagger需要一个属性
字段),并且没有任何示例使用的定义不是类型:object
其目的是将其用作另一个模型的子组件以及参数——以某种方式重用已定义的组件
把这看作是一种炫耀
编辑:根据规范,定义对象与模式对象相同,表示它可以接受基元类型
此外,假设“定义”部分中可以存在基本类型,简单参数类型(查询、路径等)是否可以引用基本定义类型?在您的示例中,基本模式是有效的,并且可以在任何需要模式对象的情况下使用,例如,作为另一个模式的子组件:
definitions:
Program:
type: object
properties:
program_name:
$ref: "#/definitions/program_name"
# This becomes:
# type: object
# properties:
# program_name:
# type: string
# description: Unique string id
或作为操作体参数或响应架构:
paths:
/something:
post:
summary: POSTs and returns a string
parameters:
- in: body
name: program_name
schema:
$ref: "#/definitions/program_name"
responses:
"200":
description: OK
schema:
$ref: "#/definitions/program_name"
但是,简单参数(路径、查询、标题和表单)不使用schema
关键字(它们使用type
),因此它们无法从定义中引用架构
这将在下一个版本OpenAPI 3.0中更改,其中将使用schema