只是简单地想要每当调用我的 API 时,如果缺少令牌,它应该返回一个 json 响应"需要令牌" 我在标头中获取令牌 让我用示例代码来解释一下:
$headers = apache_request_headers();
$token = $headers['User-Token'];
if(isset($token)){
$user_details = $this->user_basic_model->get_user_by_token($token);
if (!empty($user_details))
{
$data = $this->fare_model->get_all_fare();
if (empty($data)) {
$arr = array('msg' => 'Error!', 'status_code' => 404);
echo json_encode($arr);
}
else {
$success_array = array('msg' => 'Success!', 'status_code' => 200);
echo json_encode(array_merge($data, $success_array));
}
}
else
{
$arr = array('success' => 'false', 'msg' => 'Unauthorize Request',
'status_code' => 401);
echo json_encode($arr);
}
}
else
{
$arr = array('success' => 'false', 'msg' => 'Token is required',
'status_code' => 401);
echo json_encode($arr);
}
在这种情况下,当我不使用邮递员在标头中发送用户令牌字段时,我正确获得了响应,但是通过该响应,我收到未定义索引"用户令牌"的错误 我不希望显示此错误
只需稍微修改一下您的代码即可。
if (isset($headers['User-Token'])) {
$token = $headers['User-Token'];
if (empty($token)) {
//your code
} else {
$arr = array('success' => 'false', 'msg' => 'Token is required',
'status_code' => 401);
echo json_encode($arr);
exit();
}
} else {
$arr = array('success' => 'false', 'msg' => 'Token is required',
'status_code' => 401);
echo json_encode($arr);
exit();
}