スポンサーリンク

Laravel & Guzzle httpdで500 Internal Server Errorの解決に手間取った

プログラミング
スポンサーリンク

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にならないだろうし、必須のヘッダーなら他のリクエストでも同様のエラーが出るはずだし…

コメント