1. Problemsortieren:
Ausnahme: org.springframework.web.httprequestMethodnotsupporedException: Anforderungsmethode 'Post' nicht unterstützt
Es ist offensichtlich, dass diese Methode bei schließlich die HTTP -Anforderung als post betrachtet wird, aber der vorgegebene Client definiert RequestMethod.get oder @getMapping, was einen Fehler verursacht.
Warum glaubt T veig, dass diese Methode Post ist?
Quellcode -Tracking:
1. Schauen wir uns die Annotation von TEILDCLIENT als Eintrag an:
2. Nach dem konsistenten Stil der Frühlingswolke öffnen wir die Klasse der Feignautoconfiguration, um die Konfigurationslogik anzuzeigen:
Schauen Sie sich die Annotation in der roten Kiste des Bildes oben an: Diese Klasse wird ausgelöst, wenn kein Iloadballer vorhanden ist. Unser Projekt hat das Band aktiviert, also muss es existieren. Schauen Sie sich die Kommentare noch einmal an: Laden Sie die Clients von Ladeausgleichsbande, um FeignribbonclientAutoconfiguration zu verwenden, um diese Klasse zu konfigurieren. Geh ~
Wie im obigen Bild gezeigt, sehen Sie sich die roten Kästchen Kommentare an: In der Reihenfolge des Importierens von oben nach unten: httpclientFeignoloadBalancedConfiguration> OkhttpFEignLoadBalancedConfiguration
Nach der Definition von HTTP -Protokoll wird @RequestBody+ RequestMethod.get unterstützt. Es hängt also von den verschiedenen Implementierungen des Toolkits ab. Als ich den Quellcode überprüfte, stellte ich fest, dass Okhttp und HttpurlConnection nicht unterstützt werden (gemeldet ein Fehler), nur HTTPPCLISS unterstützt ihn. (Die Standard -HttpurlConnection meldet einen Fehler)
Wir wissen, dass nur Httpclient @RequestBody+RequestMethod.get unterstützt. Daher müssen wir die Bedingungen erfüllen und zu httpclientFeigelloadBalancedConfiguration wechseln. Schauen Sie sich den Quellcode an:
Es ist ersichtlich, dass die Apachehttpclient -Klasse unter dem Klassenpfad existiert. Fügen wir in der POM hinzu:
<Depopentcy> <gruppe> io.github.openfeign </Groupid> <artifactId> Feign-httpclient </artifactid> </abhängig>
Schließlich wurde das Paket von Feign-Httpclient-9.5.0.jar geladen und eröffnete und stellte fest, dass es Apachehttpclient.Class gab. Klicken Sie hinein und sehen Sie, dass es sich tatsächlich um ein HTTPPCLISS handelt.
Daher führt der POM Feign-Httpclient ein-》 apachehttpclient.class-》 Gehen
2. Lösung:
In Pom eingeführt
<Depopentcy> <gruppe> io.github.openfeign </Groupid> <artifactId> Feign-httpclient </artifactid> </abhängig>
Überprüfen Sie nach dem Aktualisieren von Maven, ob das Paket von Feign-Httpclient-9.5.0.jar im Projekt vorhanden ist.
Zusammenfassen
Die oben genannte Lösung für die Frühlingswolke vortäuscht, die der Editor Ihnen vorgestellt hat. Die Lösung für den Fehler von Spring Cloud Feign unterstützt @RequestBody+ RequestMethod.get nicht. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!