package com.cm.demanderetraiteanticipe.service.mapper; import com.cm.demanderetraiteanticipe.security.SecurityUtils; import com.cm.demanderetraiteanticipe.service.dto.PersonneTitulaireDTO; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Mono; @Service public class ConnectionService { private static final String BASE_URL = "http://localhost:3001/services/"; public WebClient webClient() { return WebClient.builder() .baseUrl(BASE_URL) .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .defaultHeader(HttpHeaders.AUTHORIZATION, "Bearer " + SecurityUtils.getCurrentUserJWT().get()) .build(); } public Mono getPersonne(Long id) { return this.webClient() .get() .uri("personnetitulaire/api/personne-titulaires/"+id) .retrieve() .bodyToMono(PersonneTitulaireDTO.class); } public Mono updatStatut(PersonneTitulaireDTO p) { return this.webClient() .put() .uri("personnetitulaire/api/personne-titulaires") .body(Mono.just(p), PersonneTitulaireDTO.class) .retrieve().bodyToMono(PersonneTitulaireDTO.class); } }