Schüler, die sich nicht über OpenFegn auskennen, können sich auf meinen Artikel beziehen: Springboot ~ OpenFegn verabschiedet sich von nun an von httpclient
Für OpenFEIGN hilft es uns, das Problem des Servers -Servers zu lösen. Sie müssen sich nicht um die URI des Servers kümmern, sondern nur den Servicenamen in Eureka kennen. Gleichzeitig können wir diese Servermethoden während der Einheitstests verspotten, nachdem Sie die Parameter und den Rückgabewert der Servicemethode mit dem Server ermittelt haben und die Unit -Tests wirklich erreichen, ohne mit externen Ressourcen zu interagieren.
Heute werden wir hauptsächlich über das Problem des Lesens von JSON -Dateien in OpenFegn sprechen. Wir speichern die für den Test erforderlichen Daten in die Datei, und der Fokus ist relativ einfach, wenn sie geändert werden.
JSON Help -Klasse verwendet hauptsächlich Objektmapper -Objekt
/*** Konvertieren Sie JSON in ein Objekt. * * @param Pfad Dateipfad */ public <t> T fromJson (String -Pfad, Klasse <T> cls) {trink {return ObjectMapper.readValue (this.fromResource (Pfad, charsets.utf_8), CLS); } catch (Ausnahme E) {neue illegaleStateException werfen ("Read JSON fehlgeschlagen:" + path, e); }} /*** JSON -Array in Objektliste konvertieren. * * @param Pfad Dateipfad */ public <T> list <T> listfromjson (String -Pfad, Typeeference TypeReference) {trink {return ObjectMapper.readValue (fromResource (Pfad, charsets.utf_8), TypeReference); } catch (Ausnahme E) {neue illegaleStateException werfen ("Read JSON fehlgeschlagen:" + path, e); }}Im Scheintyp können Sie diese Methode verwenden, um den Inhalt der JSON -Datei zu lesen
@Configuration @profil ("intGest") public class serviceClientmock {@bean public servICEClient RegISERServiceClient () {AccountClient Client = Mock (AccountClient.class); wenn (Client.del (AnyString (), AnyString (), AnyString (), Anymap ())). threturn (fromJson ("order/ordners.json", map.class)); }}Der obige Code simuliert hauptsächlich die DEL -Methode im ServicEclient -Objekt. Es verfügt über drei Zeicheneingabeparameter und der Rückgabewert wird aus der JSON -Datei gelesen. Im Unit -Test wird das ServiceClientMock -Objekt direkt injiziert.
Wie Sie aus der @Profile -Annotation sehen können, wird es in der Ingest -Umgebung ausgeführt und in der Produktionsumgebung reale Dienste nutzen.
Zusammenfassen
Das obige ist der Springboot OpenFeign -Lesendaten aus JSON -Dateien, die vom Editor eingeführt wurden. 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!