不能在扩展控制器上使用 laravel 响应

cant use laravel response on extended controllers

我正在使用 laravel,我想将 response()->json() 放在 laravel 的方法中控制器并从扩展控制器调用它或创建一个 __destruct 方法并放置 return response()->json() 在里面吗?
这是我在控制器中的代码:

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    protected function prepare_response(int $http_code , string $message , array $data) : array
    {
        return response()->json(['http_code' => $http_code,'message'=>$message,'data'=>$data]);
    }

}

我的调用示例:

class PersonsController extends Controller
{
    public function store(Request $request)
    {
        $this->prepare_response(200,'successfully_created',[]);
    }
}

为什么这段代码不起作用,我的邮递员的回复是空行?

您没有 return 在扩展控制器中 json,试试这个。

class PersonsController extends Controller
{
    public function store(Request $request)
    {
        return $this->prepare_response(200,'successfully_created',[]);
    }
}

你 return json 你的扩展控制器,但那永远不会 return 它。

你错过了return

class PersonsController extends Controller
{
    public function store(Request $request)
    {
        return $this->prepare_response(200,'successfully_created',[]);
    }
}