Skip to content

Commit ddac9e2

Browse files
committed
fix: make autoconfiguration spring boot v3 compatible
1 parent 0ccad1d commit ddac9e2

File tree

3 files changed

+20
-19
lines changed

3 files changed

+20
-19
lines changed

graphql-webclient-spring-boot-autoconfigure/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLWebClientAutoConfiguration.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import lombok.RequiredArgsConstructor;
66
import lombok.extern.slf4j.Slf4j;
77
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.boot.autoconfigure.AutoConfiguration;
89
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
910
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
1011
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
@@ -13,18 +14,20 @@
1314
import org.springframework.boot.context.properties.EnableConfigurationProperties;
1415
import org.springframework.context.annotation.Bean;
1516
import org.springframework.context.annotation.ComponentScan;
16-
import org.springframework.context.annotation.Configuration;
1717
import org.springframework.security.oauth2.client.AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager;
1818
import org.springframework.security.oauth2.client.InMemoryReactiveOAuth2AuthorizedClientService;
1919
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
2020
import org.springframework.security.oauth2.client.web.reactive.function.client.ServerOAuth2AuthorizedClientExchangeFilterFunction;
2121
import org.springframework.web.reactive.function.client.WebClient;
2222

2323
@Slf4j
24-
@Configuration
24+
@AutoConfiguration
2525
@RequiredArgsConstructor
26-
@AutoConfigureAfter({JacksonAutoConfiguration.class, OAuth2ClientAutoConfiguration.class,
27-
WebFluxAutoConfiguration.class})
26+
@AutoConfigureAfter({
27+
JacksonAutoConfiguration.class,
28+
OAuth2ClientAutoConfiguration.class,
29+
WebFluxAutoConfiguration.class
30+
})
2831
@EnableConfigurationProperties(GraphQLClientProperties.class)
2932
@ComponentScan(basePackageClasses = GraphQLWebClientImpl.class)
3033
public class GraphQLWebClientAutoConfiguration {
@@ -34,9 +37,8 @@ public class GraphQLWebClientAutoConfiguration {
3437
@Bean
3538
@ConditionalOnMissingBean
3639
public WebClient webClient(
37-
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") WebClient.Builder clientBuilder,
38-
@Autowired(required = false) ReactiveClientRegistrationRepository clientRegistrations
39-
) {
40+
WebClient.Builder clientBuilder,
41+
@Autowired(required = false) ReactiveClientRegistrationRepository clientRegistrations) {
4042
clientBuilder.baseUrl(graphqlClientProperties.getUrl());
4143

4244
if (isGraphQLClientRegistrationPresent(clientRegistrations)) {
@@ -52,8 +54,8 @@ private ServerOAuth2AuthorizedClientExchangeFilterFunction createOAuthFilter(
5254
InMemoryReactiveOAuth2AuthorizedClientService clientService =
5355
new InMemoryReactiveOAuth2AuthorizedClientService(clientRegistrations);
5456
AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager =
55-
new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(clientRegistrations,
56-
clientService);
57+
new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(
58+
clientRegistrations, clientService);
5759
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
5860
new ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager);
5961
oauth.setDefaultClientRegistrationId("graphql");
@@ -62,8 +64,8 @@ private ServerOAuth2AuthorizedClientExchangeFilterFunction createOAuthFilter(
6264

6365
private boolean isGraphQLClientRegistrationPresent(
6466
ReactiveClientRegistrationRepository clientRegistrations) {
65-
return clientRegistrations != null && clientRegistrations.findByRegistrationId("graphql")
66-
.blockOptional().isPresent();
67+
return clientRegistrations != null
68+
&& clientRegistrations.findByRegistrationId("graphql").blockOptional().isPresent();
6769
}
6870

6971
@Bean
@@ -77,5 +79,4 @@ public ObjectMapper objectMapper() {
7779
public GraphQLWebClient graphQLWebClient(WebClient webClient, ObjectMapper objectMapper) {
7880
return new GraphQLWebClientImpl(webClient, objectMapper);
7981
}
80-
8182
}
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
package graphql.kickstart.spring.webclient.boot;
22

33
import java.util.Arrays;
4+
import org.springframework.boot.autoconfigure.AutoConfiguration;
45
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
56
import org.springframework.boot.context.properties.EnableConfigurationProperties;
67
import org.springframework.context.annotation.Bean;
7-
import org.springframework.context.annotation.Configuration;
88
import org.springframework.security.oauth2.client.registration.InMemoryReactiveClientRegistrationRepository;
99
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
1010

11-
@Configuration
11+
@AutoConfiguration
1212
@EnableConfigurationProperties(OAuth2ClientRegistrationProperties.class)
1313
class OAuth2ClientRegistrationRepositoryConfiguration {
1414

1515
@Bean
1616
@ConditionalOnMissingBean({ReactiveClientRegistrationRepository.class})
17-
InMemoryReactiveClientRegistrationRepository clientRegistrationRepository(OAuth2ClientRegistrationProperties properties) {
18-
return properties.getClientRegistration()
17+
InMemoryReactiveClientRegistrationRepository clientRegistrationRepository(
18+
OAuth2ClientRegistrationProperties properties) {
19+
return properties
20+
.getClientRegistration()
1921
.map(Arrays::asList)
2022
.map(InMemoryReactiveClientRegistrationRepository::new)
2123
.orElse(null);
2224
}
23-
2425
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
2-
graphql.kickstart.spring.webclient.boot.GraphQLWebClientAutoConfiguration,\
1+
graphql.kickstart.spring.webclient.boot.GraphQLWebClientAutoConfiguration
32
graphql.kickstart.spring.webclient.boot.OAuth2ClientRegistrationRepositoryConfiguration

0 commit comments

Comments
 (0)