【问题标题】:"message": "Undefined property: $response", dingo api with laravel 5.2“消息”:“未定义属性:$response”,带有 laravel 5.2 的 dingo api
【发布时间】:2016-04-26 15:59:14
【问题描述】:

我正在尝试使用 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());

}

我用的时候效果很好

    return response()->json(['user' => $user], 200);

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

    return $this->response->array($user->toArray());

基本上没有 dingo 定义的函数起作用。如何解决?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    你在使用野狗助手吗?来自documentation

    响应构建器提供了一个流畅的界面来轻松构建一个 更可定制的响应。响应生成器通常用于 与变压器结合使用。

    要使用响应构建器,您的控制器应该使用 Dingo\Api\Routing\Helpers 特征。保存导入和使用特征 在所有控制器上,您可以简单地创建一个基本控制器 您的所有 API 控制器都将扩展。

    use Dingo\Api\Routing\Helpers;
    use Illuminate\Routing\Controller;
    
    class BaseController extends Controller
    {
        use Helpers;
    }
    

    【讨论】:

    • 应用程序无法找到 BaseController 的地址。同样已解决,因此野狗语法现在可以使用。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-02-28
    • 2016-07-03
    • 1970-01-01
    • 2016-07-27
    • 2016-07-08
    • 2017-08-07
    • 1970-01-01
    • 2020-06-23
    相关资源
    最近更新 更多