Restler不接受布尔值false

时间:2017-02-09 04:38:22

标签: restler

在我的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]

指定的值无效

1 个答案:

答案 0 :(得分:3)

好的,发现Restler的Validator.php无法按照它的编写方式解析@var属性。如果删除|null部分,则按预期工作。我已经向github网站提交了一个问题。