Swagger 编辑器如何指定请求正文(POST)中的哪些字段是必需的?

2024-02-18

我正在尝试在在线 Swagger 编辑器中的用户类上定义 POST 方法。

我希望能够在请求正文中指定多个字段,并且我希望生成的文档能够反映只有 2 个字段是必需的,其他是可选的。

我必须做什么/改变才能做到这一点?

我已经尝试过使用“required”关键字进行各种变体(请参见下图),但无法实现该功能,它没有显示在生成的文档中(请参见右下图,其中包含我的注释)红色的)。

这是我在编辑器中的 POST 定义:

这是生成的文档预览,我在其中指出了我希望看到更改的内容。

附言。还有一些(较旧的)帖子解决了这个问题,但我真的不认为这是重复的。


我希望能够在请求正文中指定多个字段,并且我希望生成的文档能够反映只有 2 个字段是必需的,其他是可选的。

你的第二个例子是正确的。要指定所需的对象属性,请添加required: [prop1, prop2, ...]在对象级别(即旁边type: object)。未在其中列出的属性required列表是可选的。如果required未提供列表,所有属性都是可选的。

type: object
required: [email, password]  # <--------
properties:
  email:
    type: string
  password:
    type: string
  name:
    type: string

在 Swagger UI 中,特定于操作的架构文档显示在Schema (or Model) 标签。这是显示属性描述、数据类型、“必需”指示符和其他架构信息的地方。

现在我必须弄清楚如何将该“模式”显示为默认值

为了使Schema/Model默认情况下选项卡处于活动状态,使用以下命令配置 Swagger UIdefaultModelRendering https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#user-content-defaultmodelrendering选项设置为"model".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swagger 编辑器如何指定请求正文(POST)中的哪些字段是必需的? 的相关文章

  • 无法单独构建 Flutter Web 和 Flutter Mobile 应用

    我正在构建一个 flutter 项目 并且在将 Web 和移动代码集成到单个项目中时遇到问题 我想在我的移动代码中使用 Moor 和 Moor FFI 但即使我的 web main dart 和移动代码 main dev dart 的入口点

随机推荐