我定义了一个新的实现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;
}
}