diff --git a/src/main/java/org/gridsuite/directory/server/RestTemplateConfig.java b/src/main/java/org/gridsuite/directory/server/RestClientConfig.java similarity index 68% rename from src/main/java/org/gridsuite/directory/server/RestTemplateConfig.java rename to src/main/java/org/gridsuite/directory/server/RestClientConfig.java index a954ebfc..e842ce45 100644 --- a/src/main/java/org/gridsuite/directory/server/RestTemplateConfig.java +++ b/src/main/java/org/gridsuite/directory/server/RestClientConfig.java @@ -8,33 +8,30 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.client.RestTemplate; +import org.springframework.web.client.RestClient; /** * @author Seddik Yengui */ @Configuration -public class RestTemplateConfig { +public class RestClientConfig { @Bean - public RestTemplate restTemplate(RestTemplateBuilder builder) { - final RestTemplate restTemplate = builder.build(); - - for (int i = 0; i < restTemplate.getMessageConverters().size(); i++) { - final HttpMessageConverter httpMessageConverter = restTemplate.getMessageConverters().get(i); - if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) { - restTemplate.getMessageConverters().set(i, mappingJackson2HttpMessageConverter()); + public RestClient restClient(RestClient.Builder builder) { + return builder.messageConverters(messageConverters -> { + for (int i = 0; i < messageConverters.size(); i++) { + final HttpMessageConverter httpMessageConverter = messageConverters.get(i); + if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) { + messageConverters.set(i, mappingJackson2HttpMessageConverter()); + } } - } - - return restTemplate; + }).build(); } public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { diff --git a/src/main/java/org/gridsuite/directory/server/services/UserAdminService.java b/src/main/java/org/gridsuite/directory/server/services/UserAdminService.java index 3b85163d..4c3673af 100644 --- a/src/main/java/org/gridsuite/directory/server/services/UserAdminService.java +++ b/src/main/java/org/gridsuite/directory/server/services/UserAdminService.java @@ -11,7 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.HttpStatusCodeException; -import org.springframework.web.client.RestTemplate; +import org.springframework.web.client.RestClient; import org.springframework.web.util.UriComponentsBuilder; import java.util.List; @@ -26,21 +26,21 @@ public class UserAdminService { private static final String USER_ADMIN_API_VERSION = "v1"; private static final String GET_USER_GROUPS_URI = "/users/{sub}/groups"; private static final String DELIMITER = "/"; - private final RestTemplate restTemplate; + private final RestClient restClient; @Setter private String userAdminServerBaseUri; @Autowired - public UserAdminService(RestTemplate restTemplate, RemoteServicesProperties remoteServicesProperties) { + public UserAdminService(RestClient restClient, RemoteServicesProperties remoteServicesProperties) { this.userAdminServerBaseUri = remoteServicesProperties.getServiceUri("user-admin-server"); - this.restTemplate = restTemplate; + this.restClient = restClient; } public List getUserGroups(String sub) { String path = UriComponentsBuilder.fromPath(DELIMITER + USER_ADMIN_API_VERSION + GET_USER_GROUPS_URI) .buildAndExpand(sub).toUriString(); try { - return List.of(Objects.requireNonNull(restTemplate.getForEntity(userAdminServerBaseUri + path, UserGroupDTO[].class).getBody())); + return List.of(Objects.requireNonNull(restClient.get().uri(userAdminServerBaseUri + path).retrieve().toEntity(UserGroupDTO[].class).getBody())); } catch (HttpStatusCodeException e) { return List.of(); }