MattermostClientConfiguration.java
package com.tdmconsult.ete.configuration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.DefaultUriBuilderFactory;
@Configuration
@EnableConfigurationProperties(MattermostProperties.class)
public class MattermostClientConfiguration {
@Bean(name = "mattermostRestTemplate")
public RestTemplate mattermostRestTemplate(
final RestTemplateBuilder builder,
final MattermostProperties properties) {
final var fullWebhookUrl = "%s/hooks/%s".formatted(
properties.baseurl(),
properties.token());
return builder
.uriTemplateHandler(new DefaultUriBuilderFactory(fullWebhookUrl))
.connectTimeout(properties.connectTimeout())
.readTimeout(properties.readTimeout())
.build();
}
}