非常に便利な Guzzle を使用して、REST API への呼び出しをいくつか実行しています。
通常、cURL 経由で -d フラグを付けて送信されるオブジェクトを渡したいのですが、現時点では期待される結果が得られません。
$request = $client->post('rest/user/current/resources/test', [], [
'auth' => [self::USERNAME, self::PASSWORD],
'body' => ['skeletonTest' => $skeletonTest ]
]);
$response =$request->send();
$this->dd($response);
ドキュメントから:
-d 'skeletonTest={skeletonTest}'
創刊:
HTTP/1.1 401 Unauthorized
資格情報が正しい間。
2 番目の問題:
PHP Notice: Undefined variable: response in ....
ここで何が問題になる可能性がありますか?私も使用してみました:
$request= $client->createRequest('POST','....');
しかし getBody() は意味のあるものを返しません。
何かご意見は?
アップデート:
私がこれを提供しているとき:
$request = $client->post('rest/user/current/resources/test', [
'auth' => [self::USERNAME, self::PASSWORD],
'body' => ['skeletonTest' => $skeletonTest ]
]);
$this->dd($request->send()->getBody());
出力は次のとおりです。
PHP Fatal error: Uncaught exception 'InvalidArgumentException' with message 'Invalid resource type: object' in
したがって、401 はありませんが、post() メソッドで 2 番目の引数を削除すると無効な引数になります。$skeletonTest は空のクラス (stdClass) のオブジェクトです。