调用api资源并返回当前用户

Posted

技术标签:

【中文标题】调用api资源并返回当前用户【英文标题】:Call api resource and return current user 【发布时间】:2020-05-24 23:47:21 【问题描述】:

我想返回单个用户的所有数据,我想为它使用资源。

据我所知,无法从控制器调用此类资源(例如,由于资源 toArray(..) 方法中的 $request 参数)。所以,我必须直接从我的 api.php 文件中调用它。

如果我现在从我的 api.php 调用它,我没有从父函数 (Route::get(..)) 获得任何 $request-parameter,所以我无法识别哪个用户调用了资源函数。我该如何解决这个问题?

顺便说一句,我不想​​使用这样的东西:Route::get('/user/userId', ...)

【问题讨论】:

【参考方案1】:

为了直接从任何函数使用请求,您应该通过在被调用函数中使用请求辅助函数来获取当前请求对象

$request=request();

希望这会有所帮助

【讨论】:

【参考方案2】:

您可以通过以下方式获取当前登录的用户:

public void user(Request $request)
 
      $user = $request->user();
      return $user;
 

【讨论】:

【参考方案3】:

希望对你可以通过调用该路由直接获取用户数据有所帮助。

Route::get('user', function (Request $request) 
        return $request->user();
    );

【讨论】:

以上是关于调用api资源并返回当前用户的主要内容,如果未能解决你的问题,请参考以下文章

FirebaseAuth当前用户在调用注销后没有返回null?

阿里云调用 API 服务后返回啥结果

使用 Django Rest Framework 返回当前用户

API 端点是不是可以根据用户凭据 RESTful 和良好的 URI 设计来区分要返回的资源?

从 fetch() 返回 html 并显示给用户

从 Web Api 调用 Graph Api 不会返回所有用户数据