概要
laravelにてエンドポイントを作成し、Thunder Clientからリクエストを投げた。なんのレスポンスもない500が返された。エラーログにも何も出力されていない。laravel.logにも何も出力されていない。かなり詰まったので自分の場合の原因を載せておく。
原因
ControllerとRepositoryで間違えて同じクラス(インターフェース)をDIしていた。
具体的に言うとControllerとRepositoryの__construct()
で下記のような記載が重複していた。
public function __construct(
private HogeInterface $payment,
) {
}
一時的にRepository側のDIの記述をコメントアウトして当該のエンドポイントにリクエストを送ったところ問題は解決した。
作業の背景
本事象はリファクタ中に発生した。今までリポジトリ層でDIして呼び出していたインターフェースをコントローラーで呼び出せるようにリファクタしていた。