我正在使用Swagger 2.0记录Rails应用程序,并使用Swagger-UI作为人类可读的文档/沙箱解决方案 .
我有一个资源,客户端可以存储任意元数据以便稍后查询 . 根据Rails约定,查询将像这样提交:
/posts?metadata[thing1]=abc&metadata[thing2]=def
哪个Rails翻译为:
{ "metadata" => { "thing1" => "abc", "thing2" => "def" } }
这可以很容易地用于为数据库生成适当的 WHERE
子句 .
在Swagger有什么支持吗?我想最终让Swagger-UI给出一些方法来修改生成的请求,以便在 metadata
名称空间下添加任意参数 .
1 回答
这并没有't appear supported yet (over 2 years after you asked the question), but there'关于在OpenAPI github repo上添加对此的支持的持续讨论和公开票 . 他们将这种类型的嵌套称为
deepObjects
.还有一个未解决的问题是尝试实施here . 然而,使用最新稳定的swagger-ui版本,我发现它按预期工作:
这将显示预期的对话框并与
Try it out
一起使用对照工作服务器 .我不相信有一种指定任意值或选择值的好方法(例如枚举),因此您可能必须为每个嵌套选项添加参数 .