我遇到了一个"良好实践问题;当试图为经过身份验证的用户编写API时。
所以,如果我没有编写SPA,那么我需要一个API来发出axios(例如(请求,以获取经过身份验证的用户数据。我有点被卡住了。
如果我将所有用户数据路由放在web.php
中,那么我的控制器将被迫返回JSON供Vue解析数据,这对于web.php
路由来说并不是一个好的做法。
如果我将所有用户数据路由都放在api.php
中,那么从它的控制器返回JSON是一种很好的做法,但我不能简单地使用auth()->user()
来获得经过身份验证的用户,因为api.php
不使用经过身份验证用户会话。所以我不得不为每个api请求放一个该死的圣地令牌,这有点:
- 烦人
- 使用vue呈现整页时不可能
- 可能被认为是不良做法
- 可以通过简单地将所有路由放到
web.php
来避免
那么,你对把这种路线放在哪里有什么看法?
如果您要发出的请求来自基于会话的已验证用户(您使用常规laravel会话对用户进行验证(,则使用web.php
文件。如果它来自基于API的经过身份验证的用户(您使用API令牌对用户进行身份验证(,则使用api.php
文件。
无论要返回的数据是JSON数据还是刀片视图,如果您使用的是常规的基于会话的身份验证,只需使用web.php
文件即可。
我假设您不是在编写API,并且您希望从基于会话的已验证用户获取用户数据。在这种情况下,您肯定应该使用web.php
文件,这是一个不错的做法。