我正在开发一个restApi,我正在使用这个api进行我的移动和web开发。它是用PHP构建的。我需要我的json格式的错误,以便我可以以适当的响应格式将此错误发送给android开发人员他们也可以轻松处理它。因此我们不会在移动应用程序中遇到任何崩溃问题。
这正是我所需要的。
PHP错误:
解析错误:语法错误,意外“切换”(T_SWITCH) 第68行/var/www/html/phishem/index.php
需要什么:
{error_code:“403”,消息:“解析错误:语法错误,意外 在第68行的/var/www/html/phishem/index.php中'切换'(T_SWITCH)“}
所以我如何在json响应中转换这个php错误。
答案 0 :(得分:0)
在api代码中你应该掌握php警告和错误,我不认为在前端(Android或IOS)处理php异常和错误是很好的programinig练习
答案 1 :(得分:0)
这种错误是服务器端错误,其中必须通过处理错误而不是将其作为正确的响应来解决。理想情况下,您必须处理/捕获所有可能的错误并给出正确的响应。
OR
您还可以开发服务层(也适用于更安全的架构),它将通过前端和API端之间的请求和响应。在这种情况下,如果服务器响应 500 内部服务器错误,您可以从服务层解析正确的响应消息并返回JSON格式的消息。
答案 2 :(得分:0)
您可以捕获致命错误并输出为JSON(在PHP中):
function my_error_handler(){
$error = error_get_last();
header('Content-Type: application/json');
echo json_encode($error);
}
register_shutdown_function('my_error_handler');
对于非致命错误,您需要添加此
set_error_handler('my_error_handler');
此外,您需要禁止默认错误消息:
error_reporting(0);
这些将输出错误,如下面的JSON
{
type : "8",
"message" : "Undefined variable: a",
"file" : "C:\WWW\index.php",
"line" : "2"
}