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 站点。