我想使用定义
中定义的枚举作为查询字符串中参数定义的一部分。
我在我的Swagger 2.0规范文件的< code>definitions部分定义了Swagger枚举。
OperationType:
type: string
enum:
- registration
- renewal
我可以在其他定义中创建对它的引用:
Operation:
type: object
properties:
name:
type: string
type:
$ref: '#/definitions/OperationType'
当参数在:body中为时,我可以使用
中为schema
标记对其进行引用,但在:query时则不能使用
- name: operation
in: body
description: description
schema:
$ref: '#/definitions/OperationType'
我尝试删除
架构:
并在枚举:
中进行引用,但无法使其正常工作。
这在OpenAPI 3.0中是可能的。现在,所有参数都使用< code>schema,通过扩展,可以< code>$ref模式。
openapi: 3.0.0
...
paths:
/something:
get:
parameters:
- in: query
name: action
schema:
$ref: '#/components/schemas/OperationType'
...
components:
schemas:
OperationType:
type: string
enum:
- registration
- renewal
对于 Swagger 2.0,我们限制了对除正文
参数以外的任何内容使用模型定义的能力。定义部分用于定义架构,也可用于定义
非对象。但是,只有在使用 schema
关键字的情况下才能访问这些定义。如最初所述,非正文参数无法访问架构,因此查询或路径参数不能使用架构
,从而限制了重用这些定义的能力。
有一个开放的特性请求,要求在规范的未来版本中处理它。
无法获取如何将字符串类型的引用与数组参数中的枚举值一起使用。我可以在items键中进行引用,并且它正在工作,但Swagger产生错误:不是有效的参数定义 Web UI生成界面,但它有文本区,而不是我期望的多选框。 正确的做法是什么? 我的代码:
为什么要在C++11中编译: 但这不是:
Swagger没有为这个查询参数提供有效的参数定义。如果我删除路径和参数定义中对用户名的所有引用,则不会出现任何问题。 根据Swagger规范,我相信我使用了正确的查询参数,但不知何故它不是。
我希望能够使用此枚举定义: ...然而,在参数定义内部,我不断得到错误: 错误: Swager错误:不是有效的参数定义
我有一个实体,其类型由enum表示。数据库是Postgres,在那里表示为枚举类型。我使用JPA/Hibernate及其存储库。请注意,我是JPA、Hibernate和Kotlin的新手。 我试图创建自定义,我需要选择类型(枚举)在可能类型列表中的公司。我,但是,遇到各种错误类型铸造在SQL和/或语法的。 Kotlin中数据类