NPE для getId после преобразования из Dto в Entity (как mapstruct, так и modelmapper)

Вы дважды создаете свои резольверы. Оба MutationResolver и QueryResolver аннотируются с помощью @Component, что означает, что Spring создаст экземпляр и зарегистрирует его. Однако в GraphqlApplication вы также создали beans для обоих резольверов, используя аннотацию @Bean.

Это вызывает проблему, потому что библиотека GraphQL будет искать правильный resolver для greetingsAll, но это найдут два резольвера из-за того, что ваш компонент будет отображаться дважды.

Решение состоит в том, чтобы либо удалить аннотацию @Component, либо удалить следующую конфигурацию компонента:

@Bean
public QueryResolver query() {
    return new QueryResolver();
}

@Bean
public MutationResolver mutation() {
    return new MutationResolver();
}
0
задан WhizzZ 19 January 2019 в 11:24
поделиться