我开发了一个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也能发送其他代码。
碧玉
答案 0 :(得分:1)
是的,在设置正确的响应标头后结束脚本通常是正确的操作。如果没有明确die
,我不确定为什么它不起作用 - 请确保您之后不会输出任何不应该存在的数据或标题。
答案 1 :(得分:0)
使用以下内容重定向到404页面。
header("location:404.php");