如何获取异步提取程序引发的GraphQLError扩展?

时间:2019-05-08 13:34:58

标签: java graphql-java

我定义了一个新的实现GraphQLErro的异常。异常覆盖了方法getExtensions,我在其中添加了一些属性。我只能在同步模式下获得扩展。如何在异步模式下获取扩展?

在异步模式下,异常是CompletionException,无法实例化GraphQLError。我认为这是我无法获得扩展的主要原因。

public class UdsDataFetcherException extends RuntimeException implements GraphQLError {


    private final int code;
    private final String message;

    public UdsDataFetcherException(int code, String message) {
        super(message);
        this.code = code;
        this.message = message;
    }

    @Override
    public List<SourceLocation> getLocations() {
        return null;
    }

    @Override
    public ErrorType getErrorType() {
        return null;
    }

    @Override
    public String getMessage() {
        return this.message;
    }

    @Override
    public Map<String, Object> getExtensions() {
        Map<String, Object> customAttributes = new HashMap<>();
        customAttributes.put("code", this.code);
        customAttributes.put("message", this.getMessage());
        return customAttributes;
    }
}

0 个答案:

没有答案