Wir haben einen Front-End-Dienst, der einen Back-End-Dienst verwendet, um eine Liste der Metrikobjekte abzurufen. Wir haben ein Java ClientSDK für den Back-End-Service geschrieben, um die Entwicklung von Client-Anwendungen dieses Dienstes zu erleichtern.Verfügbarmachen einer Teilmenge eines Java-Objekts für JSON
Wir stellen auch eine Liste von Metriken aus dem Front-End-Service zur Verfügung. Momentan werden die Back-End-Metrikobjekte direkt in JSON ausgelagert und konvertiert.
Meine Sorge ist, dass, wenn Änderungen am Back-End-Metrik-Objekt vorgenommen werden - sagen ein Entwickler fügt ein neues geheime ID-Feld - wir wollen nicht aus dem Front-End-Service verfügbar machen.
Wir schreiben auch eine ClientSDK für den Front-End-Service. Wir möchten die Metrikklasse nicht vom Back-End-ClientSDK aus referenzieren, daher besteht die logische Option darin, ein ähnliches Metrikobjekt im Frontend-SDK zu definieren.
Ich möchte keine CPU-Zyklen verschwenden, die Tausende von Metriken von einer Klassendefinition in eine andere kopieren.
Gibt es eine Möglichkeit anzugeben, welche Felder ich von der Back-End-Metrik für die Front-End-Definition von Metric verfügbar machen soll, während ich in JSON konvertiere? Besser noch, kann ich die Front-End-Definition auf den JSON-Konverter verweisen, wenn ich es ersuche, das Back-End-Objekt zu marshallen? Wir verwenden Jackson mit dem Spring-Rest-Framework für den Kontext, aber ich würde mich freuen, das sofort fallen zu lassen, da das Marshalling von Objekten über Annotationen die Ursache dieses Problems zu sein scheint.
Es gibt auch eine '@ JsonIgnore' Anmerkung, die auf der genauen Einstellung des OP je könnte die einfachere Wahl sein. – ingenious