我正在使用 Laravel 构建我的 API,它具有很棒的路由能力。
我想支持任何可以传递用户 ID 的地方,允许传递“我”,这意味着代表令牌所代表的用户。
例如
/users/1234 => /users/me
/competitions?user=1234 => /competitions?user=me
/users/1234/threads/comments => /users/me/threads/comments
对于查询字符串,我将处理内部替换“me”,Auth::user()->id
但对于“me”是路径的一部分的路由,我正在考虑捕获这些路由,用输出替换“me”,Auth::user()->id
然后执行 3xx 重定向到修改后的路线。
所以这里有两个问题。
1)这是一个可行/好主意还是我应该只有一个特定的 /users/currentUserInformation 端点,以便客户端可以获取当前用户 ID,然后他们负责使用从该响应返回的 ID 构建 URL?
2) 什么 3xx 代码符合要求?这不是“您应该从这里请求此信息”,而只是“您想要的信息实际上来自这里,但任何一个都可以获取此信息”(又名缓存相等)。