1: Wenn mehrere Clients verwendet werden, wird die vorgetäuschte Schnittstelle in das öffentliche Glas extrahiert. Zu diesem Zeitpunkt muss die Startkurs des Kunden das Paket scannen, in dem sich die Täuschung im Glas befindet. Es muss im Frühjahr registriert und gleichzeitig vorgetäuscht werden. Andernfalls wird angegeben, wenn Sie anfangen: "Überlegen Sie, ob Sie in Ihrer Konfiguration eine Bohne vom Typ" ****** vorstellen "in Betracht ziehen."
@SpringBootApplication@EnableTransactionManagement@EnableDiscoveryClient@ComponentScan(basePackages={"com.lcamtech.aidis.feign","com.lcamtech.aids.dts"})@EnableFeignClients(basePackages = {"com.lcamtech.aidis.feign"})@EnableCaching@MapperScan(basePackages = "com.lcamtech.aids.dts.mapper") Die Anwendung der öffentlichen Klasse erweitert SpringbootServletInitializer {public static void main (String [] args) {Springapplication.run (application.class, args); }}Schlüsselpunkte:
@Componentscan (Basepackages = {"com.lcamtech.aidis.FEIGN", "com.lcamtech.aids.dts"})@enableFeignClients (Basispackages = {"com.lcamtech.aidis.feign"})Das AIDIS -Paket ist ein Glas, das vorgetäuscht ist. Zu diesem Zeitpunkt muss @Componentscan das Paket dieses Projekts gleichzeitig scannen.
2: Wenn Sie Fegin verwenden, um den Wert zu übergeben, wird GET POST POST
@FeignClient (value = "service-name") public interface userAccountFEIGN {@RequestMapping (value = "/ac/exist", method = requestMethod.get) public baseresult isExist (@RequestParam ("Mobile") String Mobile);};};};};};Wenn vorgetäuscht bestanden wird, wird die Daten standardmäßig in den RequestBody gesteckt, sodass die Standard -Post -Anfrage bewirkt (es ist nutzlos, um eine Zeit zu schreiben. Zu diesem Zeitpunkt muss @RequestParam in der Parameterliste deklariert werden, um normale Get -Anfragen zu stellen.
3: Wenn die vorliegende Anfrage ein komplexes Objekt zurückgibt
wie:
öffentlicher Klassenergebnis {privater String -Code; private String -Nachricht; private Objektdaten; // get/set}Problembeschreibung: Wenn die Anforderung ein Ergebnis von Ergebnis zurückgibt, wird der Datenwert innerhalb des Objekts zu einem LinkedHashMap und wird nicht in das entsprechende Klassenobjekt konvertiert. Wenn die Übertragung direkt erzwungen ist, wird der Typfehler gemeldet.
Lösung 1: Einfache Konvertierung
/** * @Description: Daten in den entsprechenden Container konvertieren * @param bean * @param clazz * @return * @throws * @author sunf * @date 2018/6/20 10:28 */public static <t> t convertValue (Object Bean, Class <T> clazz) {try {telopyMapper = New ObjectMapper (). return mapper.convertValue (Bean, Clazz); } catch (Ausnahme e) {log.Error ("Fehlerkonvertierung: beanutil.convertValue () --->" + e.getMessage ()); null zurückkehren; }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.