swagger - Swagger UI 将参数标记为组
问题描述
是否可以以某种方式标记属性,以便在发送请求时应该在 SwaggerUI 中设置哪个字段是可以理解的。
例如,我们有一个支付路径,它具有payment_type属性,可以保存诸如paypal、credit_card、crypto等值,并且基于该字段,我们需要填充不同的属性,如下所示。
{
"payment": 0,
"paypal": "test@test.com",
"cryptocurrency": "test",
"wallet_address": "test",
"swift": "test",
"iban": "test",
"account_name": "test",
"bank_name": "test"
}
是否可以以某种方式标记它们以便将它们分组,例如应该设置加密 货币和wallet_address,而对于银行转账 swift、iban、account_name和bank_name应该设置。
解决方案
不,没有这样的选择。我们受到OpenAPI-Specification的限制,请阅读 Parameter Object 部分以查看可用字段的列表。
现在知道限制并非一切都会丢失,这里有一些选择:
您确实有
description
这是添加您的详细信息的好地方。您也可以使用规范扩展,但这不是 swagger-ui 默认支持的,如果您需要 UI 对您的扩展执行操作,则需要对其进行编码。
@Helen 在评论中指出的另一个选项正在使用
discriminator
,但 swagger-ui 目前不支持该选项:
https ://github.com/swagger-api/swagger-ui/issues/2438
推荐阅读
- bash - 尾随多个文件并从文件中输入搜索词,输出使用文件名搜索的项目
- python - 如何将整数放在列表的末尾,使其不会成为 Python 中的“属性错误”?
- mlflow - 将运行迁移到 MLFlow 0.9
- php - Symfony 寄存器未找到 CSRF 令牌无效
- c# - 删除 EF Core 迁移会删除与迁移无关的列
- azure - how to assign hostname for rabbitmq cluster on Azure Kubernetes Service
- jenkins - 在上游作业中获取下游作业详细信息
- sqlite - 自动回滚多个语句的隐式事务?
- java - 为什么字符串的值在第一次打印时显示为大写,但在第二次打印时显示为小?
- c# - 如果客户端证书未在服务器的受信任证书中表示,则自定义 X509CertificateValidator 不会触发