一直说“类stdClass的对象不能转换为字符串”。我正在使用PHP curl lib到API中的HTTP请求。我已经在搜索,但是我不了解Curl库。
错误是当我添加授权密钥时,此错误显示:
stdClass类的对象无法转换为字符串
在以下代码行上:
['Authorization' => 'Bearer ' .$request->session()->get('user_session_key')]
这是我的控制器:
public function user_department(Request $request) {
if ( empty( $request->session()->get('user_session_key') ) ) {
return redirect('/login');
}
$api_response = http_request(
'/master_file/department/getAllDepartments/',
[], ['Authorization' => 'Bearer ' .$request->session()->get('user_session_key')], 'GET'
);
dd($api_response);
return view ('user_management.user_department', [
'department_list' => $api_response->status == 200 ? $api_response->response : []
]);
}
这是我的http_Request函数:
function http_request($path, $body = [], $header = [], $method = 'POST') {
// Open Connection
$connection = curl_init( \Config::get('constants.api_base_url') . $path );
$header_content = ['Content-Type: application/json'];
// Define HTTP Request Method
curl_setopt($connection, CURLOPT_CUSTOMREQUEST, $method);
if ( count( $body ) > 0 ) {
$data_string = json_encode($body);
// Defind HTTP Request Body
curl_setopt($connection, CURLOPT_POSTFIELDS, $data_string);
array_push($header_content, 'Content-Length: ' . strlen( $data_string ));
}
curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
// Define HTTP Request Header
curl_setopt($connection, CURLOPT_HTTPHEADER, array_merge( $header_content, $header ));
// Excute Request
$response = curl_exec($connection);
// Response
return json_decode($response);
}