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

时间:2013-07-09 00:09:34

标签: php json api patch restler

我发送以下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

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

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

例如

@param string $request_data

更改类型

 string to mixed 

问题将得到解决。