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

Swagger editor how to specify which fields in request body (POST) are required?

我正在尝试在在线 Swagger 编辑器中为用户 class 定义一个 POST 方法。

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

我需要做什么才能做到这一点?do/change

我尝试了使用“required”关键字的各种变体(见下图),但未能成功,它没有显示在生成的文档中(见右下图)旁边是我的红色注释)。

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

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

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

I want to be able to specify multiple fields in the request body and I would like the generated documentation to reflect that only 2 fields are required, the others are optional.

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

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

在 Swagger UI 中,operation-specific 架构文档显示在 Schema(或 Model)选项卡上.这就是显示 属性 描述、数据类型、“必需”指示符和其他架构信息的地方。

Now I'll have to figure out how to have that "schema" shown as default

要使 Schema/Model 选项卡默认处于活动状态,请使用 defaultModelRendering 配置 Swagger UI选项设置为 "model".