首页 > 解决方案 > 如何在 GraphQL 中返回自定义错误

问题描述

resolve使用 GraphQL 时,如何从 Laravel 项目的函数中返回自定义错误?

public function resolve($root, $args, $context, ResolveInfo $info)
{
    $objDefaultPage = FunnelTypeDefaultPage::where('id', $args['id'])->first();

    if (!$objDefaultPage) {
        return null; // Here I want to return some message instead of returning null
    }

    $objDefaultPage->update($args);
    return $objDefaultPage;
}

标签: phplaravelgraphql

解决方案


如果您使用的是这个包,那么它是相当简单的。如果错误没有什么特别之处,则返回:

return new Error('Default page not found');

不要忘记包含use GraphQL\Error\Error; 或者如果您想自定义它,那么您需要创建一个DefaultPageError应该扩展GraphQL\Error\Error该类并调用该类的类。喜欢:

return new DefaultPageError('Page not found');

或者你可以玩更多来定制它。


推荐阅读