Skip to content

Commit b0c65bd

Browse files
authored
Merge pull request #17 from Backbase/feature/openapi-client-12.2.0
Using a new openapi client base config class from ssdk 12.2.0
2 parents 3750725 + c1ca818 commit b0c65bd

File tree

5 files changed

+28
-32
lines changed

5 files changed

+28
-32
lines changed

service-sdk/12.0.0/create-openapi-client/banking-service/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
can declare it as a dependency instead, see pom-as-dependency.xml -->
1010
<parent>
1111
<groupId>com.backbase.buildingblocks</groupId>
12-
<version>12.1.0</version>
12+
<version>12.2.0</version>
1313
<artifactId>service-sdk-starter-core</artifactId>
1414
<relativePath/>
1515
</parent>
@@ -31,7 +31,7 @@
3131
<dependency>
3232
<groupId>io.swagger</groupId>
3333
<artifactId>swagger-annotations</artifactId>
34-
<version>1.6.0</version>
34+
<version>1.6.1</version>
3535
</dependency>
3636

3737
<dependency>
@@ -62,7 +62,7 @@
6262

6363
</dependencies>
6464

65-
<!-- tag::openapi-generator-plugin[] -->
65+
<!-- tag::boat-maven-plugin[] -->
6666
<build>
6767
<plugins>
6868
<plugin>
@@ -89,6 +89,6 @@
8989
</plugins>
9090

9191
</build>
92-
<!-- end::openapi-generator-plugin[] -->
92+
<!-- end::boat-maven-plugin[] -->
9393

9494
</project>

service-sdk/12.0.0/create-openapi-client/banking-service/src/main/java/com/backbase/banking/ExampleController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.backbase.banking;
22

3+
import com.backbase.messaging.api.client.v2.MessageApi;
4+
import org.springframework.beans.factory.annotation.Autowired;
35
import org.springframework.http.HttpStatus;
46
import org.springframework.web.bind.annotation.RestController;
57
import org.springframework.web.bind.annotation.RequestMapping;
@@ -9,6 +11,9 @@
911
@RestController
1012
public class ExampleController {
1113

14+
@Autowired
15+
private MessageApi messageApi;
16+
1217
@RequestMapping(method = RequestMethod.GET, value = "/message", produces = {
1318
"application/json"
1419
})
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,37 @@
11
package com.backbase.banking;
22

3+
import com.backbase.buildingblocks.communication.client.ApiClientConfig;
34
import com.backbase.buildingblocks.communication.http.HttpCommunicationConfiguration;
45
import com.backbase.messaging.api.client.ApiClient;
56
import com.backbase.messaging.api.client.v2.MessageApi;
6-
import org.springframework.beans.factory.annotation.*;
77
import org.springframework.context.annotation.*;
8-
import org.springframework.web.client.RestTemplate;
98
import org.springframework.boot.context.properties.ConfigurationProperties;
10-
import javax.validation.constraints.Pattern;
119

1210
// tag::MessagingServiceRestClientConfiguration[]
1311
@Configuration
1412
@ConfigurationProperties("backbase.communication.services.name")
15-
public class MessagingServiceRestClientConfiguration {
13+
public class MessagingServiceRestClientConfiguration extends ApiClientConfig {
1614

17-
private String serviceId = "messaging-service";
18-
private String serviceUrl = "/service-api/v2";
19-
public static final String INTERCEPTORS_ENABLED_HEADER = "INTERCEPTORS_ENABLED_HEADER";
15+
public static final String MESSAGING_SERVICE_ID = "messaging-service";
2016

21-
@Value("${backbase.communication.http.default-scheme:http}")
22-
@Pattern(regexp = "https?")
23-
private String scheme;
17+
public MessagingServiceRestClientConfiguration() {
18+
super(MESSAGING_SERVICE_ID);
19+
}
2420

2521
/**
2622
* Creates a REST client.
2723
*
28-
* @param restTemplate the RestTemplate for the client.
2924
* @return the client.
3025
*/
3126
@Bean
32-
public MessageApi createGeneratedClassApiClient(
33-
@Qualifier(HttpCommunicationConfiguration.INTER_SERVICE_REST_TEMPLATE_BEAN_NAME) RestTemplate restTemplate) {
34-
ApiClient apiClient = new ApiClient(restTemplate);
35-
apiClient.setBasePath(scheme + "://" + serviceId + serviceUrl);
36-
apiClient.addDefaultHeader(HttpCommunicationConfiguration.INTERCEPTORS_ENABLED_HEADER,
37-
Boolean.TRUE.toString());
38-
return new MessageApi(apiClient);
27+
public MessageApi createGeneratedClassApiClient() {
28+
return new MessageApi(createaApiClient());
29+
}
30+
31+
private ApiClient createApiClient() {
32+
return new ApiClient(getRestTemplate())
33+
.setBasePath(createBasePath())
34+
.addDefaultHeader(HttpCommunicationConfiguration.INTERCEPTORS_ENABLED_HEADER, Boolean.TRUE.toString());
3935
}
4036
}
4137
// end::MessagingServiceRestClientConfiguration[]

service-sdk/12.0.0/create-openapi-client/banking-service/src/test/java/com/backbase/banking/ExampleControllerIT.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,25 @@
11
package com.backbase.banking;
22

33

4+
import org.junit.jupiter.api.Test;
45
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
56
import org.springframework.boot.test.context.SpringBootTest;
6-
import org.springframework.boot.test.mock.mockito.MockBean;
7-
import org.springframework.http.HttpStatus;
8-
import org.springframework.http.ResponseEntity;
97
import org.springframework.test.annotation.DirtiesContext;
108
import org.springframework.test.annotation.DirtiesContext.ClassMode;
119
import org.springframework.test.context.ActiveProfiles;
12-
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
1310
import org.springframework.beans.factory.annotation.Autowired;
1411
import org.springframework.test.web.servlet.MockMvc;
1512
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
1613
import org.springframework.test.web.servlet.MvcResult;
1714
import org.springframework.test.web.servlet.ResultActions;
1815
import org.springframework.http.MediaType;
19-
import org.junit.runner.RunWith;
20-
import org.junit.Test;
2116

22-
import static org.mockito.ArgumentMatchers.any;
23-
import static org.mockito.Mockito.when;
17+
import static org.hamcrest.MatcherAssert.assertThat;
2418
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
2519
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
2620
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
2721
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
2822
import static org.hamcrest.CoreMatchers.containsString;
29-
import static org.junit.Assert.assertThat;
3023

3124
/**
3225
* A wrapper annotation for use with integration tests.
@@ -37,7 +30,6 @@
3730
*/
3831
@SpringBootTest(classes = Application.class)
3932
@DirtiesContext(classMode = ClassMode.AFTER_CLASS)
40-
@RunWith(SpringJUnit4ClassRunner.class)
4133
@AutoConfigureMockMvc
4234
@ActiveProfiles("it")
4335
public class ExampleControllerIT {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
eureka:
2+
client:
3+
enabled: false

0 commit comments

Comments
 (0)