Auth :: user()从Postman测试REST API时尝试获取非对象的属性

时间:2017-03-19 10:03:48

标签: laravel api postman

当我从邮递员测试我的REST API时,它给了我错误

Trying to get property of non-object 

因为邮递员没有会话。如果有浏览器,则会创建会话但不会在邮递员中创建。任何人都可以提供Auth::user()

的替代解决方案

这是我的路线

  

路线::帖子('播放列表/ {id} /关注','播放列表控制器@关注');

这是我的代码段。

public function follow($id)
{
     $user = $this->model->findOrFail($id);
     if ($user->id != Auth::user()->id) {
          Auth::user()->followedUsers()->attach($id);
     }
}

2 个答案:

答案 0 :(得分:0)

api_token表中创建一个名为User的列,并在中间件auth:api下添加所有路由。

然后尝试从api_token中的邮递员发送Headers值 -

Authorization Bearer: <api_token_here>

Authorization是标题名称,其值为Bearer: <api_token_here>

然后您的Auth::user()->id将按预期工作。

答案 1 :(得分:-1)

尝试更改您的功能: (我假设你的模型是用户)

 public function follow(User $id)
    {
         if ($id->id != Auth::user()->id) {
              Auth::user()->followedUsers()->attach($id);
         }
    }