Skip to content

Commit c969b6d

Browse files
committed
Clean up configuration
1 parent edfe56a commit c969b6d

3 files changed

Lines changed: 21 additions & 4 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ gradle-app.setting
1414
# gradle/wrapper/gradle-wrapper.properties
1515
/graphql-spring-webclient.iml
1616
/.idea/
17+
/graphql-webclient/build/
18+
/graphql-webclient-spring-boot-autoconfigure/build/
19+
/graphql-webclient-spring-boot-starter/build/
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,37 @@
11
package graphql.kickstart.spring.webclient.boot;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
34
import lombok.extern.slf4j.Slf4j;
5+
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
46
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
7+
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
58
import org.springframework.context.annotation.Bean;
69
import org.springframework.context.annotation.ComponentScan;
710
import org.springframework.context.annotation.Configuration;
811
import org.springframework.web.reactive.function.client.WebClient;
912

1013
@Slf4j
1114
@Configuration
15+
@AutoConfigureAfter(JacksonAutoConfiguration.class)
1216
@ComponentScan(basePackageClasses = GraphQLWebClientImpl.class)
1317
public class GraphQLWebClientAutoConfiguration {
1418

1519
@Bean
1620
@ConditionalOnMissingBean
1721
public WebClient webClient() {
18-
return null;
22+
return WebClient.builder().build();
1923
}
2024

2125
@Bean
2226
@ConditionalOnMissingBean
23-
public GraphQLWebClient graphQLWebClient(WebClient webClient) {
24-
return new GraphQLWebClientImpl(webClient);
27+
public ObjectMapper objectMapper() {
28+
return new ObjectMapper();
29+
}
30+
31+
@Bean
32+
@ConditionalOnMissingBean
33+
public GraphQLWebClient graphQLWebClient(WebClient webClient, ObjectMapper objectMapper) {
34+
return new GraphQLWebClientImpl(webClient, objectMapper);
2535
}
2636

2737
}

graphql-webclient/src/test/java/graphql/kickstart/spring/webclient/boot/GraphQLWebClientTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.junit.jupiter.api.BeforeEach;
1111
import org.junit.jupiter.api.DisplayName;
1212
import org.junit.jupiter.api.Test;
13+
import org.springframework.beans.factory.annotation.Autowired;
1314
import org.springframework.boot.test.context.SpringBootTest;
1415
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
1516
import org.springframework.boot.web.server.LocalServerPort;
@@ -22,14 +23,17 @@ class GraphQLWebClientTest {
2223
@LocalServerPort
2324
private int randomServerPort;
2425

26+
@Autowired
27+
private ObjectMapper objectMapper;
28+
2529
private GraphQLWebClient graphqlClient;
2630

2731
@BeforeEach
2832
void beforeEach() {
2933
WebClient webClient = WebClient.builder()
3034
.baseUrl("http://localhost:" + randomServerPort)
3135
.build();
32-
graphqlClient = new GraphQLWebClientImpl(webClient, new ObjectMapper());
36+
graphqlClient = new GraphQLWebClientImpl(webClient, objectMapper);
3337
}
3438

3539
@Test

0 commit comments

Comments
 (0)