"message":"Undefined property:$ response",dingo api with laravel 5.2

1ns*_*4n3 2 php laravel laravel-5

我正在尝试使用laravel 5.2实现dingo API

以下是我为测试野狗而编写的功能

public function profile()
{
    try {
        $user = JWTAuth::parseToken()->toUser();
        if (!$user) {
            return response()->json(['error' => 'User Not Found'], 500);
        }
    } catch (\Tymon\JWTAuth\Exceptions\JWTException $ex) {
        return response()->json(['error' => 'Something went wrong'], 500);
    }
    //return response()->json(['user' => $user->with('profile')->where('id', $user->id)->first()], 200);
    return $this->response->array($user->toArray());

}
Run Code Online (Sandbox Code Playgroud)

我用的时候工作正常

    return response()->json(['user' => $user], 200);
Run Code Online (Sandbox Code Playgroud)

但是当我按照dingo语法使用以下代码行时.它显示错误

    return $this->response->array($user->toArray());
Run Code Online (Sandbox Code Playgroud)

基本上没有一个野狗定义的功能工作.怎么解决这个问题?

小智 9

你在使用野狗帮手吗?从文档中

响应构建器提供了一个流畅的界面,可以轻松构建更可定制的响应.响应构建器通常与变换器一起使用.

要使用响应构建器,您的控制器应使用Dingo\Api\Routing\Helpers特性.要在所有控制器上保存导入和使用特征,您只需创建一个所有API控制器都将扩展的基本控制器.

use Dingo\Api\Routing\Helpers;
use Illuminate\Routing\Controller;

class BaseController extends Controller
{
    use Helpers;
}
Run Code Online (Sandbox Code Playgroud)