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

私もこの問題を抱えていましたが、それは私がparam間違った型を与えたからです。

例えば

@param string $request_data

タイプを変更

 string to mixed 

問題は解決されます。

于 2014-01-22T04:02:35.420 に答える
1

v3 ブランチの最新バージョン (Restler 3 RC4) では、この問題が修正されています

于 2013-08-07T02:12:08.323 に答える