404 bei Verwendung von Spring Cloud FeignClients

9

Das ist mein Setup:

Erster Dienst (FlightIntegrationApplication), der den zweiten Dienst (BaggageServiceApplication) über FeignClients API und Eureka aufruft.

Projekt auf GitHub: Ссылка

Erster Service:

%Vor%

in einem der Controller:

%Vor%

FlightIntegrationService:

%Vor%

RegistryService:

%Vor%

Und das ist der zweite Service (Gepäckservice):

BaggageServiceApplication:

%Vor%

BaggageService:

%Vor%

BaggageServiceImpl:

%Vor%

Beim Aufruf des Restcontrollers des Flugintegrationsdienstes bekomme ich:

%Vor%

Irgendeine Idee?

Danke, Strahl.

    
rayman 22.07.2015, 17:17
quelle

2 Antworten

3

Ihr Code sieht für mich zurück.

Der Scheinclient für den Gepäckservice sollte im Flugdienst deklariert werden und der Gepäckservice sollte einen Controller haben, der auf die URL antwortet, die Sie in Ihrem Gepäckservice-Client zuordnen. Sie sollten nicht implementieren Schnittstelle mit @FeignClient annotiert.

Das Setup, das Sie jetzt haben, wird keinen Controller auf / baggage / list / {flightId} im Gepäckservice haben und keinen Feign-Client im Flugdienst - der ganze Sinn von Feign ist es anzurufen Methoden auf einer Schnittstelle anstatt URLs manuell zu bearbeiten, kümmert sich Spring Cloud um die automatische Implementierung der Schnittstellenimplementierung und verwendet Eureka für die Erkennung.

Probieren Sie es aus (oder ändern Sie es so, dass es zu Ihrer echten App passt):

Flugdienst:

FlightIntegrationService.java:

%Vor%

BaggageService.java:

%Vor%

Gepäckservice:

BaggageController.java:

%Vor%

Entfernen Sie BaggageService.java und BaggageServiceImpl.java vom Gepäckservice

    
Raniz 31.07.2015, 11:00
quelle
1

registryService.getServiceUrl("baggage-service", ... ersetzen durch

%Vor%

stelle sicher, dass der richtige Name

entspricht

Entfernen Sie den localhost-Teil

oder verwenden Sie nur den Ссылка -Teil

Es funktionierte nur für uns, wenn Sie nur den Namen des Dienstes in Eureka Dashboard aufgeführt haben, nicht beide

    
Tim Spann 26.07.2015 23:35
quelle