swagger OpenApi 3.0需要一个或多个字段

avwztpqn  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(185)

正文

{
  "param1": "string", #required or
  "param2": "string", #required or
  "param3": "string", #required 
  "param4": true,
  "param5": "string"
}

需要一个或多个参数。
定义parm1、parm2或parm3所需yaml sintax是哪个?
谢谢。

ippsafx7

ippsafx71#

"minProperties": 3限制对象属性计数的数量对你有用吗?如果不适合你,那么你将需要非常复杂的if-then-else结构来表达这一点(在这种情况下,最好用编程验证来实现这个检查,而不是在json模式中)。

mrzz3bfm

mrzz3bfm2#

假设您使用OpenAPI 3.x,则需要anyOf + required的组合:

type: object
anyOf:
  - required: [param1]
  - required: [param2]
  - required: [param3]
properties:
  ...

此语法表示:必须存在至少X1M2N1X或X1M3N1X或X1M4N1X(或这些性质的任何组合)。

相关问题