Entwicklung eines API V2 Search Request Response Transformer

Copyright ©

Mindbreeze GmbH, A-4020 Linz, .

Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

EinführungPermanenter Link zu dieser Überschrift

Der API V2 Search Request Response Transformer bietet die Funktionalität, API V2 Search Anfragen und Antworten in ein selbst definiertes Format zu Transformieren. Die Funktionalität wird durch das Erstellen eines Plugins mit dem Mindbreeze Software Development Toolkit bereitgestellt. Der SDK erzeugt ein Beispiel Plugin, das angepasst werden kann.

VorbereitungPermanenter Link zu dieser Überschrift

Zum Bauen und Erstellen eines Plugins mit dem Mindbreeze Software Development Toolkit werden folgende Software Komponenten benötigt:

  • Java SE Development Kit: Version 1.8 or newer
  • Eclipse IDE for Java Developers

Erzeugen eines Mindbreeze Plugin ProjektesPermanenter Link zu dieser Überschrift

Der Mindbreeze Software Development Toolkit beinhaltet ein Werkzeug zum Generieren eines Plugin Projektes. Das Werkzeug wird für Microsoft Windows als mesjavaplugin.bat bzw. für Linux als mesjavaplugin.sh bereitgestellt.

Mindbreeze Software Development ToolkitPermanenter Link zu dieser Überschrift

Um ein Plugin Projekt für ein API V2 Search Request Transformer Plugin zu erstellen muss das Werkzeug mit folgenden Parametern aufgerufen werden:

mesjavaplugin.<sh|bat> <Plugin Type> <Name> <Base Package>

  • Plugin Type: Der Plugin Typ muss searchtransformer sein.
  • Name: Der Name des Plugins kann beliebig gewählt werden. In der Konfiguration des Client Service kann das Plugin mit dem angegebenen Namen ausgewählt werden.
  • Base Package: Das Base Package der Java Klassen die erzeugt werden. Kann beliebig gewählt werden.

Erzeugen eines PluginsPermanenter Link zu dieser Überschrift

Der Mindbreeze Software Development Toolkit erzeugt ein Plugin Projekt das unter dem angegebenen Namen im aktuellen Verzeichnis verfügbar ist.

  1. Plugin Projekt in Eclipse importieren.


  1. Eine Basis Implementierung des Plugins ist unter dem Namen <Name>APIV2SearchRequestResponseTransformerService.java verfügbar.
  2. Zum Erstellen des Plugins muss build.bat (Microsoft Windows) bzw. build.sh (Linux) aufgerufen werden. Ein Plugin mit dem Namen
    <name>-searchtransformer.zip wird erzeugt.
  3. Das Plugin kann mit der Mindbreeze Konfigurationsoberfläche installiert werden.
  4. Um das Plugin zu verwenden muss es in der Client Service Konfiguration konfiguriert werden. In diesem Beispiel wird ein API V2 Search Request Response Transformer mit dem Namen APIV2SearchRequestResponseTransformer.MyCustomTransformer konfiguriert. Um im Ergebnis die Metadaten extension, mes:key, category, categoryinstance und icon zu erhalten wurden diese als Additional Metadata konfiguriert. Der Parameter source gibt an, ob das Value oder die HTML Representation verwendet wird.


  5. Das Plugin kann unter der URL https://clientservice:clientserviceport/plugin/ID/search?params aufgerufen werden. Die ID wäre in diesem Beispiel APIV2SearchRequestResponseTransformer.MyCustomTransformer. Das erzeugte Beispiel Plugin wird mit der URL https://clientservice:clientserviceport/plugin/ID/search?q=ALL&num=20 aufgerufen. Diese URL setzt eine Suche nach ALL ab und liefert 20 Ergebnisse in einem XML Format.

Implementierung der TransformationPermanenter Link zu dieser Überschrift

Implementierung der Request TransformationPermanenter Link zu dieser Überschrift

Um den Request zu transformieren muss die Methode transformRequest implementiert werden.

Dieses Beispiel ist im generierten Code des SDK enthalten und transformiert den Search Request, definiert durch die HTTP Parameter q und num in einen Mindbreeze Search Request. Die Metadaten aus der Konfiguration des Plugins werden im Mindbreeze Search Request angefordert, um im Ergebnis verfügbar zu sein.

Implementierung der Response TransformationPermanenter Link zu dieser Überschrift

Die Response Transformation wird in der Methode transformResponse durchgeführt.

transformResponse(RpcController controller, ResponseTransformationRequest request, RpcCallback<HTTPResponse> done)

Der request Parameter enthält den zu transformierenden Request. Mit dem Parameter done kann der Response gesetzt werden. Das folgende Beispiel schreibt alle Titel des Query Response als Text auf den Response.

Der HTTP Content-Type wird durch das Definieren des MediaType im Response festgelegt.