Laravel 5.4:类'App\Http\Controllers\Response'未找到错误

Tar*_*tar 11 php rest laravel laravel-5

我正在关注Laracast的API教程,并试图创建一个ApiController所有其他控制器扩展.ApiController负责响应处理.

class ApiController extends Controller
{
    protected $statusCode;

    public function getStatusCode()
    {
        return $this->statusCode;
    }

    public function setStatusCode($statusCode)
    {
        $this->statusCode = $statusCode;
    }

    public function respondNotFound($message = 'Not Found!')
    {
        return Reponse::json([

            'error' => [
                'message' => $message,
                'status_code' => $this->getStatusCode()
            ]

        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我也有一个ReportController延伸ApiController.

class ReportController extends ApiController
{
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $report = Report::find($id);

        if (! $report ) {
            $this->respondNotFound(Report does not exist.');
        }

        return Response::json([
            'data'=> $this->ReportTransformer->transform($report)
        ], 200);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试respondNotFoundReportController我得到的方法调用

类'App\Http\Controllers\Response'未找到错误

虽然我添加use Illuminate\Support\Facades\Response;到父类或子类我得到错误.我怎样才能解决这个问题 ?

任何帮助,将不胜感激.

Ale*_*nin 31

既然它是一个立面,添加这个:

use Response;
Run Code Online (Sandbox Code Playgroud)

或使用完整命名空间:

return \Response::json(...);
Run Code Online (Sandbox Code Playgroud)

或者只是使用帮手:

return response()->json(...);
Run Code Online (Sandbox Code Playgroud)

  • 这是一个**完全不同的**问题,你会说"这些解决方案都不起作用,全部尝试"并且没有注意到它们**确实能够解决你所描述的错误信息,这真是令人沮丧. (5认同)