NPE при использовании Batch-Resolver (@Source List<>) с реализацией Openliberty GraphQLJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 NPE при использовании Batch-Resolver (@Source List<>) с реализацией Openliberty GraphQL

Сообщение Anonymous »

Среда: Я пытаюсь использовать пакетные преобразователи в MicroProfile GraphQL 2.0 с OpenLiberty, но пакетный преобразователь, похоже, не вызывается, хотя журналы сервера указывают на то, что это следует делать.

Код: Выделить всё

[WARNUNG ] SRGQL010002: Operation [subName] also exist as a batch operation - ignoring the non-batch operation
Таким образом, оба метода Resolver распознаются, но при вызове API он выдает NPE при доступе к «subName»:

Код: Выделить всё

query Test {
testDto {
name
subName
}
}
Результаты:

Код: Выделить всё

{
"errors": [
{
"message": "Server Error",
"locations": [
{
"line": 4,
"column": 5
}
],
"path": [
"testDto",
"subName"
],
"extensions": {
"exception": "java.lang.NullPointerException",
"classification": "DataFetchingException",
"code": "null-pointer"
}
}
],
"data": {
"testDto": {
"name": "P1",
"subName": null
}
}
}
У меня есть простой API GraphQL с одним преобразователем и пакетным преобразователем для одного и того же поля:

Код: Выделить всё

@GraphQLApi
public class TestGQL {

@Query
public TestDto getTestDto() {
return new TestDto("P1");
}

@Query
public List getTestDtos() {
List result = new ArrayList();
result.add(new TestDto("P2"));
result.add(new TestDto("P3"));
return result;
}

@Name("subName")
public String getSubName(@Source TestDto testDto) {
return testDto.name + "_SingleResolver";
}

@Name("subName")
public List getSubNameBatch(@Source List testDtos) {
return testDtos.stream().map(p -> p.name + "_BatchResolver").toList();
}

public static class TestDto {
public String name;

public TestDto(String name) {
this.name = name;
}
}
}
Включенные функции в моем файле server.xml

Код: Выделить всё

    
jakartaee-10.0
microProfile-7.0
mpGraphQL-2.0

Зависимости в моем build.gradle:

Код: Выделить всё

dependencies {
// provided dependencies
providedCompile 'jakarta.platform:jakarta.jakartaee-api:10.0.0'
providedCompile 'org.eclipse.microprofile:microprofile:7.0'
// https://mvnrepository.com/artifact/org.eclipse.microprofile.graphql/microprofile-graphql-api
implementation 'org.eclipse.microprofile.graphql:microprofile-graphql-api:2.0'
}
Вопрос:

Что-то неправильно настроено в моей настройке или это ошибка в реализации OpenLiberty MicroProfile GraphQL?

Подробнее здесь: https://stackoverflow.com/questions/798 ... hql-implem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»