0

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

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

任何想法我做错了什么?

4

2 回答 2

1

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

于 2013-08-07T02:12:08.323 回答
1

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

例如

@param string $request_data

更改类型

 string to mixed 

问题将得到解决。

于 2014-01-22T04:02:35.420 回答