Постоянно говорится: «Объект класса stdClass не может быть преобразован в строку». Я использую php curl lib для http запроса в API. Я уже ищу, но я не понимаю библиотеку 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);
}