Bonjour,

Je fais appel à deux microservices avec WebClient
J'ai deux méthodes (test1 et test2) dans mon service pour tester unitairement les appels. Ces deux méthodes fonctionnent

Je souhaiterai faire appel au premier "ouvrageClient" pour récupérer un Flux d'Ouvrage et à partir de ce flux d'ouvrage faire appel à l'autre WebClient "operationClient" pour récupérer un Flux d'opération.

Par contre, j'ai une erreur à la compilation dans la méthode getRelatedOperations

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
java: incompatible types: inference variable V has incompatible bounds
    equality constraints: com.rte.prisk.core.operation.dto.query.OperationLightDto
    lower bounds: reactor.core.publisher.Flux<com.rte.prisk.core.operation.dto.query.OperationLightDto>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
public class RelatedOperationService {
 
    private  OperationClient operationClient;
    private  OuvrageClient ouvrageClient;
 
    public Flux<OperationLightDto> getRelatedOperations(Long[] ouvrageIds){
        final Flux<OuvrageDto> ouvrageFlux = ouvrageClient.getRelatedOuvrages(ouvrageIds); //équivaut à la méthode test1
        return ouvrageFlux
                .map(ouvrageDto -> {
                    return operationClient.getRelatedOperations(ouvrageDto.getId());// équivaut à la méthode test2
                });
    }
 
    public Flux<OuvrageDto> test1(Long ouvrageIds[]){
        return  ouvrageClient.getRelatedOuvrages(ouvrageIds);
    }
 
    public Flux<OperationLightDto> test2(Long ouvrageId){
        return operationClient.getRelatedOperations(ouvrageId);
    }
 
}
Avez-vous une idée pour cette erreur ?

Bien cordialement