Я отправляю запросы через cURL
на внешний веб-сервис и получаю ответ в формате JSON. Примерно так:
public function store(Request $request)
{
$loggedInUser = app('Dingo\Api\Auth\Auth')->user();
if (!$loggedInUser instanceof User) {
$this->response->errorUnauthorized();
}
$data = $request->all();
$url = env('WEBSERVICE_URL');
$payload = json_encode(['n' => $data['n']]);
$auth = 'Authorization: ' . env('API_KEY');
$headers = [
'Content-Type:application/json',
$auth
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
Проблема в том, что ответ функции такой:
{
"code": 200,
"status": "success",
"data": "{\"message\":\"n saved successfully!\"}"
}
А не так (json, который я получил от веб-службы)
{"message": "n saved successfully!"}
Я на самом деле не эксперт по Dingo API, но могу представить, что это, вероятно, связано с неким форматом ответа по умолчанию, который Dingo применяет к возвращаемым значениям в функциях.
В любом случае, в этом случае я хотел бы вернуть второй ответ, упомянутый выше. Есть ли способ отключить формат ответа по умолчанию, который Динго применяет в особых случаях? Или вы думаете, что это вызвано чем-то другим?