【发布时间】:2022-08-18 17:44:50
【问题描述】:
我正在为我的 API 控制器使用这种方法:
public function register(Request $request)
{
// Validation Data
$validData = $this->validate($request, [
\'user_input\' => \'required|regex:/^09\\d{9}$/|max:11|min:11\',
\'user_full_name\' => \'nullable|max:20|min:3\',
]);
Session::put(\'user_full_name\', $request->user_full_name);
$sms = new SendSms(request()->all()[\'user_input\'],43,request()->all());
$sms->send();
return response([
\'data\' => \'verification code is sent\',
\'status\' => 200
]);
}
如您所见,我在包含用户名的方法中设置了一个会话:
Session::put(\'user_full_name\', $request->user_full_name);
但这是错误的,因为我没有使用 REST API 的好处,而且 REST 不应该与会话一起提供。
而且我确实需要知道输入的用户名并为下一步获取该数据,这就是我使用会话的原因。
所以问题是在 REST API 中适合和标准的替代方法是什么?
-
所以不要把它放在会话中,为什么你仍然需要它?
-
@Justinas那我怎么能理解客户输入的用户名并用给定的数据注册他!
-
在保留当前用户信息的地方编写特殊服务。然后到
$this->auth->getFullName(),因为每个请求都必须经过授权才能访问,因为REST Api的无状态特性 -
但是你把名字放在第一位的目的是什么!
-
由于这是一个 API,您始终可以从
api token或JWT token或您正在使用的任何身份验证方法中获取全名!!
标签: php laravel api rest laravel-5.8