我正在用RAML编写api规范。我有一个带有三个查询参数的GET api。其中一个是可选的。在其他两个的情况下,其中一个至少应该存在。我如何在api规范中定义它
/api
description: api end point
queryParameters:
field1:
description: field1
required: false
type: string
field2:
description: field2
required: false
type: string
field3:
description: field3
required: false
type: string
这里field1是完全可选的。如果我们没有它,那就没关系。但是在其他两个中,field2或field3应该存在。
所以api调用应该是
/api?field2=value or /api?field3=value
我如何在raml中执行此操作?
答案 0 :(得分:1)
您可以将查询参数拆分为两种类型(每种组合一种)并使用联合类型:
=> #<Prediction id: 126, round: nil, number: nil, created_at: "2017-03-21 05:44:32", updated_at: "2017-03-21 13:05:11", player_id: 2, order: 2, user_id: 2 >
=> #<Result id: 98, info: nil, created_at: "2017-04-20 15:37:17", updated_at: "2017-04-20 15:37:17", player_id: 2, order: 2>