Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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 <seddik.yengui at rte-france.com>
*/

@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() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<UserGroupDTO> 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();
}
Expand Down
Loading