Я работаю с REST API CodeIgniter больше года, и обычно, когда я хочу вернуть какой-либо ответ, я возвращаю 200
для всех видов запросов. Я знаю, что для всех ответов предоставляется код состояния, но на самом деле мне очень интересно, будет ли неправильно использовать 200
для всех ответов? И определить статус данных с помощью true
и false
.
Вот пример кода, который я всегда использую. Допустим, чтобы проверить, существует ли пользователь или нет.
REST API CodeIgniter
$user = [ 'id' => 1, 'name' => 'John Doe' ];
$this->response([
'status' => !empty($user) ? true : false,
'user' => $user
], REST_Controller::HTTP_OK);
React Native
try {
const res = await axios.get('https://www.example.com/retrieve-user?user_id=3');
if (res.status == 200){
if(res.data.status == true){
// user found
} else {
// user not found
}
} else {
alert('Internal server error.')
}
} catch (err) {
console.error(err);
}
Основываясь на примере, я фактически полагаюсь на код состояния 200
, чтобы определить, есть ли ошибка на сервере (ошибка кода, неверный запрос и т. д.).
Итак, мой вопрос: можно ли придерживаться этого метода?