Restler 不接受布尔值 false
Restler not accepting boolean false
在我的 Restler API class 我有一个像这样定义的对象(有很多其他参数)
class PatchTaskObj extends TaskObj {
/**
* @var bool|null Whether or not this Task should be pinned to the top of the list {@required false}
*/
public $pinned = null;
}
然后我尝试在我的 PATCH 方法中使用它:
/**
* Updates an existing Task record.
*
* @param int $id The SQL ident of the task you wish to update. {@min 1} {@from path}
* @param PatchTaskObj $info The properties of the Task to update.
*
* @throws RestException 412 Thrown if at least one update isn't passed in.
*
* @status 204
*/
function patch($id, PatchTaskObj $info)
如果我为 pinned
属性 传递 true
它工作正常,但如果我传递 false
然后我从 Restler 得到一个 400 消息:
Bad Request: Invalid value specified for info[pinned]
好的,发现 Restler 的 Validator.php 无法按照其编写方式解析 @var 属性。如果您删除 |null
部分,那么它将按预期工作。我已将问题提交到 github 站点。
在我的 Restler API class 我有一个像这样定义的对象(有很多其他参数)
class PatchTaskObj extends TaskObj {
/**
* @var bool|null Whether or not this Task should be pinned to the top of the list {@required false}
*/
public $pinned = null;
}
然后我尝试在我的 PATCH 方法中使用它:
/**
* Updates an existing Task record.
*
* @param int $id The SQL ident of the task you wish to update. {@min 1} {@from path}
* @param PatchTaskObj $info The properties of the Task to update.
*
* @throws RestException 412 Thrown if at least one update isn't passed in.
*
* @status 204
*/
function patch($id, PatchTaskObj $info)
如果我为 pinned
属性 传递 true
它工作正常,但如果我传递 false
然后我从 Restler 得到一个 400 消息:
Bad Request: Invalid value specified for
info[pinned]
好的,发现 Restler 的 Validator.php 无法按照其编写方式解析 @var 属性。如果您删除 |null
部分,那么它将按预期工作。我已将问题提交到 github 站点。