Laravelで実装している際、某社のAPIへリクエストして500エラーが発生し、解決に時間がかかったことがありました。
最終的に、API開発元に確認しHeaderにAcceptがないのが原因だと判明したのですが、なぜこれが原因だったのか、いまだに謎です。
下記のようなコードで送っています。
$paramater = [
'http_errors' => true, // 40X・50X系のエラーをExceptionにしない
'headers' => [
'Accept' => 'application/json',
'Authorization' =>
'Bearer ' . \Config('authorization'),
],
];
$client = new Client();
$response = $client->request('GET', 'https://xxxxx', $paramater);
同社の別APIに対してはAcceptなしで送れて、このAPIだけエラーなのでハマりました…
レスポンスする時にAcceptなしをブロックしているなら500にならないだろうし、必須のヘッダーなら他のリクエストでも同様のエラーが出るはずだし…
コメント