Restler不接受boolean false
在我的Restler API类中,我有一个像这样定义的对象(带有很多其他参数)
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)
如果我通过true
的pinned
属性它工作正常,但如果我通过false
然后我从Restler 400获得消息:
错误的请求:为info[pinned]
指定的值无效info[pinned]
好的,发现Restler的Validator.php没有按照它写的方式解析@var属性。 如果删除|null
部分,则按预期工作。 我向github网站提交了一个问题。