Skip to content

Commit 60155d6

Browse files
committed
Replace deprecated code fix #17
1 parent 662df7e commit 60155d6

File tree

3 files changed

+29
-11
lines changed

3 files changed

+29
-11
lines changed

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

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package graphql.kickstart.spring.webclient.boot;
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import lombok.NonNull;
45
import lombok.RequiredArgsConstructor;
56
import lombok.extern.slf4j.Slf4j;
67
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,15 +14,17 @@
1314
import org.springframework.context.annotation.Bean;
1415
import org.springframework.context.annotation.ComponentScan;
1516
import org.springframework.context.annotation.Configuration;
17+
import org.springframework.security.oauth2.client.AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager;
18+
import org.springframework.security.oauth2.client.InMemoryReactiveOAuth2AuthorizedClientService;
1619
import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
1720
import org.springframework.security.oauth2.client.web.reactive.function.client.ServerOAuth2AuthorizedClientExchangeFilterFunction;
18-
import org.springframework.security.oauth2.client.web.server.UnAuthenticatedServerOAuth2AuthorizedClientRepository;
1921
import org.springframework.web.reactive.function.client.WebClient;
2022

2123
@Slf4j
2224
@Configuration
2325
@RequiredArgsConstructor
24-
@AutoConfigureAfter({JacksonAutoConfiguration.class, OAuth2ClientAutoConfiguration.class, WebFluxAutoConfiguration.class})
26+
@AutoConfigureAfter({JacksonAutoConfiguration.class, OAuth2ClientAutoConfiguration.class,
27+
WebFluxAutoConfiguration.class})
2528
@EnableConfigurationProperties(GraphQLClientProperties.class)
2629
@ComponentScan(basePackageClasses = GraphQLWebClientImpl.class)
2730
public class GraphQLWebClientAutoConfiguration {
@@ -36,18 +39,33 @@ public WebClient webClient(
3639
) {
3740
clientBuilder.baseUrl(graphqlClientProperties.getUrl());
3841

39-
if (clientRegistrations != null && clientRegistrations.findByRegistrationId("graphql").blockOptional().isPresent()) {
40-
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
41-
new ServerOAuth2AuthorizedClientExchangeFilterFunction(
42-
clientRegistrations,
43-
new UnAuthenticatedServerOAuth2AuthorizedClientRepository());
44-
oauth.setDefaultClientRegistrationId("graphql");
45-
clientBuilder.filter(oauth);
42+
if (isGraphQLClientRegistrationPresent(clientRegistrations)) {
43+
clientBuilder.filter(createOAuthFilter(clientRegistrations));
4644
}
4745

4846
return clientBuilder.build();
4947
}
5048

49+
@NonNull
50+
private ServerOAuth2AuthorizedClientExchangeFilterFunction createOAuthFilter(
51+
ReactiveClientRegistrationRepository clientRegistrations) {
52+
InMemoryReactiveOAuth2AuthorizedClientService clientService =
53+
new InMemoryReactiveOAuth2AuthorizedClientService(clientRegistrations);
54+
AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager =
55+
new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(clientRegistrations,
56+
clientService);
57+
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth =
58+
new ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager);
59+
oauth.setDefaultClientRegistrationId("graphql");
60+
return oauth;
61+
}
62+
63+
private boolean isGraphQLClientRegistrationPresent(
64+
ReactiveClientRegistrationRepository clientRegistrations) {
65+
return clientRegistrations != null && clientRegistrations.findByRegistrationId("graphql")
66+
.blockOptional().isPresent();
67+
}
68+
5169
@Bean
5270
@ConditionalOnMissingBean
5371
public ObjectMapper objectMapper() {

graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLError.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ public class GraphQLError {
1010
private String message;
1111
private List<Location> locations;
1212
private List<String> path;
13-
private Map<String, Object> extensions ;
13+
private Map<String, Object> extensions;
1414

1515
}

graphql-webclient/src/main/java/graphql/kickstart/spring/webclient/boot/GraphQLErrorsException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
@RequiredArgsConstructor
1111
public class GraphQLErrorsException extends RuntimeException {
1212

13-
List<GraphQLError> errors;
13+
transient List<GraphQLError> errors;
1414

1515
@Override
1616
public String getMessage() {

0 commit comments

Comments
 (0)