В моем приложении laravel 5.7 у меня есть контроллер с помощью следующего метода, который отправляет почтовый запрос, используя GuzzleHttp \ Client, в мой lumen api.
public function insert(Request $request)
{
$domain = Config::get('url.gcr_api'); // gcr_api is defined in app/config/url.php
$url = $domain . "/api/v1/campaign/insert";
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$client = new Client;
$response = $client->request('POST', $url , [
'headers' => [
'X-XSRF-TOKEN' => csrf_token(),
],
'form_params' => [
'name' => $campaign_name,
'bank_id' => $campaign_provider,
]
]
);
$data = json_decode($response->getBody(), true);
return $data;
}
}
Вот код для lumen api, который вызывается вышеуказанным методом.
public function insert(Request $request) {
try {
$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data);
$response = array(
'status' => 'success',
'message' => 'Campaign created successfully',
);
return response()->json($response);
}
catch(Exception $e) {
// When query fails.
$response = array(
'status' => 'failed',
'message' => 'Failed to create campaign',
);
return response()->json($response);
}
}
Я получаю эту ошибку каждый раз, когда вызывается метод вставки моего контроллера приложения laravel:
GuzzleHttp \ Exception \ ServerException (500) Ошибка сервера: POST
http://localhost:8000/api/v1/campaign/insert
привело к ответу 500
Internal Server Error
:
Я думаю, что ошибка связана с тем, что мой lumen api не может получить данные form_params, поэтому я закомментировал этот блок кода в моем lumen api-коде, и ошибка исчезла:
/*$campaign_name = $request->input('campaign_name');
$campaign_provider = $request->input('campaign_provider');
$data = array('name' => $campaign_name, 'bank_id' => $campaign_provider);
DB::table('campaign')->insert($data); */
Но мне нужно получить данные form_params в моем lumen api, как мне это сделать?