在 swagger 中代替“oneOf”的下一个最佳选择 (v2.0)

Next-best option in lieu of 'oneOf' in swagger (v2.0)

提问人:ioneyez 提问时间:6/9/2016 最后编辑:tom redfernioneyez 更新时间:2/1/2021 访问量:2884

问:

我最近一直在深入研究 REST,正在寻找一个对 JSON-Schema 有良好支持的工具。

我正在使用 Swagger,我开始这个项目时完全意识到 JSON-Schema 的 Swagger 实现不完整。对于 Swagger 缺乏对约束的支持,最干净的解决方法是什么?(在我的项目中,不能简单地放弃需求。oneOfoneOf

编辑: 昨晚再次运行 JSON-Schema 规范时,我想到了尝试为此目的强制使用“枚举”。枚举元素中的对象是文本,必须提前知道并逐字使用。换言之,枚举中定义的对象不能用作架构定义或替代“oneOf”。

EDIT 2 openAPI 3.0 现在支持 oneOf https://spec.openapis.org/oas/v3.0.3#properties

JSON REST 验证 Swagger

评论

0赞 Sampada 6/9/2016
在什么情况下,你到底需要一个?是否用于指定参数的条目 - 允许使用列表之一。.还是参数本身(必须输入两个参数中的一个)?
0赞 ioneyez 6/10/2016
Sampada,我正在建模的主要对象有一个对象数组,其中每个对象都来自兼容对象列表。一个非常粗略的例子可能是 [ String, Number, String, String ] ,其中每个对象的验证都可以通过它们自己的定义来处理。数组中的每个对象只能是兼容对象的“一个”。
4赞 Helen 8/11/2017
oneOf现在在 OpenAPI 3.0 中受支持。

答: 暂无答案