Я разработал php (5.5) API для взаимодействия с базами данных на моем сервере. Пока что все идет гладко, кроме той части, где я хочу отправить http-коды ответов.
Если, например, пользователь не найден в моей базе данных, я хочу вернуть 404, чтобы отреагировать соответственно в моем приложении (Android).
Я не мог получить код состояния, чтобы изменить с 200, используя либо:
header("HTTP/1.1 404 Not Found, true, 404);
или же
http_response_code(404);
Тем не менее, если я вручную вызову die () следующим образом:
http_response_code(404);
echo json_encode("Some response I want to send anyways");
die();
Я получаю ожидаемый код статуса.
Является ли вызов метода die () таким приемлемым? Или есть лучший способ убедиться, что мой API отправляет правильные коды ответов?
Спасибо, что нашли время, чтобы прочитать это.
Изменить 1: Это не относится к 404 кодам. Я хочу, чтобы мой API также отправлял другие коды.
Джаспер
Да, завершение сценария после установки правильных заголовков ответа, как правило, является правильным действием. Я не уверен, почему это не работает для вас без явного die
— убедитесь, что впоследствии вы не выводите никаких данных или заголовков, которых там быть не должно.
Используйте следующее, чтобы перенаправить на страницу 404.
header("location:404.php");