имхо нормальный вариант с одним контролером, только вместо if сделай массив-карту - типа $commands = [ 'method1' => Command1::class, 'method2' => Command2::class, ];
Сделал даже проше. Назвал свои методы так же как приходят на вход и сделал просто проверку - пустое значение или нет, если нет - $method = $response->method; $this->$method 🙂