我的删除api采用布尔查询参数/users?force=true
。在我的控制器中,我为apipie文档添加了以下内容
param :force, [true, false], required: false, desc: "query parameter."
当我拨打api电话时,我得到了
Apipie::ParamInvalid (Invalid parameter 'force' value "true": Must be one of: <code>true</code>, <code>false</code>.).
我试过传递/用户?force = 1,/ users?force,但是1被视为&#34; 1&#34;并且没有传递任何东西被视为零并且两个调用都失败了。如何进行验证?
注意:我知道api的定义并不安宁。
答案 0 :(得分:0)
你传递的参数最终是字符串中的“true”,而不是布尔值,这就是它失败的原因。没有任何类型转换,rails不知道你试图传递布尔值,而不是字符串。
您应该将“true”,“false”列为有效选项中的字符串,如:
param :force, [true, false, "true", "false"], required: false, desc: "query parameter."