Как сделать, чтобы graphql-java-annotations распознавали методы получателей как имя поля (без get) - PullRequest
0 голосов
/ 08 января 2019

Я в процессе миграции библиотеки graphql-java-annotations с версии 0.13 до текущей версии 6.1.

В нашем приложении есть много Java-интерфейсов, которые определяют методы получения для полей.

В версии 0.13 эти геттеры помечены @GraphQLField, а затем использованы с именем поля в запросах GraphQL. Например:

@GraphQLField
String getName();

Это будет упоминаться как name в запросах GraphQL.

В текущей версии метод получения больше не распознается, и нам нужно вручную аннотировать каждое поле с помощью @GraphQLName, чтобы добавить name в схему GraphQL.

В предыдущем примере сработало бы следующее изменение:

@GraphQLField
@GraphQLName("name")
String getName();

Есть ли способ предотвратить изменение всех геттеров в интерфейсах, добавив аннотацию @GraphQLName? Знаете ли вы, почему методы геттеров больше не распознаются?

1 Ответ

0 голосов
/ 18 января 2019

Только для справки, мы смогли решить проблему с помощью следующей строки:

GraphQLAnnotations.getInstance()
    .getObjectHandler()
    .getTypeRetriever()
    .getGraphQLFieldRetriever()
    .setAlwaysPrettify(true);
...