Luracast Restler Validator返回关于期望字符串、获取数组的警告


Luracast Restler Validator returns warning about expecting string, getting array

我正在发送以下json:{"name":"New event"}

到PATCH处理程序:function patch($id, $request_data = NULL)

但我收到以下警告:Warning: strlen() expects parameter 1 to be string, array given in /public_html/vendor/Luracast/Restler/Data/Validator.php on line 115

该行的来源是:

switch ($info->type) {
    ...
    case 'string' :
       $r = strlen($input);

所以我在Validator.validate()的第一行添加了一些代码,看看它认为变量是什么:

print("$input: $info->type'n");

我得到这个:

1: int
Array: string

所以它认为数组是一个字符串。它仍然能够继续并处理请求,但它将此警告作为响应返回,而不是我可以处理的有效内容。

你知道我做错了什么吗?

v3分支中的最新版本(Restler 3 RC4)修复了这个问题

我也有这个问题,但那是因为我给了param错误的类型。

例如

@param string $request_data

变更型

 string to mixed 

问题就会得到解决。