如何处理webonyx/graphql php中的自定义错误?
我正在使用webonyx/graphql-php创建一些graphql查询,文档中解释如何在解析查询期间处理自定义错误的内容非常不完整。例如,如果用户应用程序发送查询以查找某个记录,我希望返回一个自定义错误“Customer not found”,而不仅仅是这个丑陋的结构如何处理webonyx/graphql php中的自定义错误?,php,graphql-php,Php,Graphql Php,我正在使用webonyx/graphql-php创建一些graphql查询,文档中解释如何在解析查询期间处理自定义错误的内容非常不完整。例如,如果用户应用程序发送查询以查找某个记录,我希望返回一个自定义错误“Customer not found”,而不仅仅是这个丑陋的结构 [ 'debugMessage' => 'Actual exception message', 'message' => 'Internal server error', 'category
[
'debugMessage' => 'Actual exception message',
'message' => 'Internal server error',
'category' => 'internal',
'locations' => [
['line' => 10, 'column' => 2]
],
'path' => [
'listField',
0,
'fieldWithException'
],
'trace' => [
/* Formatted original exception trace */
]
];
我读了很多次文档(),但不明白怎么做。你能帮我吗
谢谢大家! 文档指出,为了定制抛出异常时发送的响应,需要抛出一个自定义的
异常
类,该类实现接口客户端
,并在isClientSafe
方法中返回true
也就是说,您需要声明一个异常
类,如下所示:
class CustomerNotFound extends\Exception实现客户端软件
{
受保护的$message='未找到客户';
公共函数isClientSafe()
{
返回true;
}
公共函数getCategory()
{
返回“失踪”;
}
}
在应用程序逻辑中,当未找到客户记录时,抛出上述异常类,类似于:
if($rowCount<1)
{
抛出新的CustomerNotFound;
}
是的,你说得对!但是在这种情况下(我无法理解),我需要调用解析程序中的CustomerNotFound,或者在其他情况下需要调用?我可以为它创建一个异常,但是。。。我什么时候可以调用此实现?非常感谢你的帮助!是的,如果找不到记录,您将在解析器中抛出异常。