首页 > 解决方案 > Swagger UI 将参数标记为组

问题描述

是否可以以某种方式标记属性,以便在发送请求时应该在 SwaggerUI 中设置哪个字段是可以理解的。

例如,我们有一个支付路径,它具有payment_type属性,可以保存诸如paypalcredit_cardcrypto等值,并且基于该字段,我们需要填充不同的属性,如下所示。

{
  "payment": 0,
  "paypal": "test@test.com",
  "cryptocurrency": "test",
  "wallet_address": "test",
  "swift": "test",
  "iban": "test",
  "account_name": "test",
  "bank_name": "test"
}

是否可以以某种方式标记它们以便将它们分组,例如应该设置加密 货币wallet_address,而对于银行转账 swiftibanaccount_namebank_name应该设置。

标签: swaggerswagger-uiswagger-2.0

解决方案


不,没有这样的选择。我们受到OpenAPI-Specification的限制,请阅读 Parameter Object 部分以查看可用字段的列表。

现在知道限制并非一切都会丢失,这里有一些选择:

  • 您确实有description这是添加您的详细信息的好地方。

  • 您也可以使用规范扩展,但这不是 swagger-ui 默认支持的,如果您需要 UI 对您的扩展执行操作,则需要对其进行编码。

  • @Helen 在评论中指出的另一个选项正在使用discriminator,但 swagger-ui 目前不支持该选项:
    https ://github.com/swagger-api/swagger-ui/issues/2438


推荐阅读