Die Verwendung von Swagger Codegen für die Integration über API


Swagger Codegen kann Code für viele verschiedene Programmiersprachen generieren. Einige Beispiele sind Java, Python, JavaScript, Lua und PHP. Weitere Informationen finden Sie hier: https://swagger.io/tools/swagger-codegen


Generieren von Java-Code mit swagger codegen 2:

1. git clone https://github.com/swagger-api/swagger-codegen (Falls notwending muss git vor dem Ausführen dieses Kommandos installiert werden)

2. cd swagger-codegen

3. mvn clean package (Falls notwendig muss die neueste Version von Java und Apache Maven vor dem Ausführen dieses Kommandos installiert werden)

4. mkdir ffng-java-client (Es kann ein beliebiger Name für dieses Verzeichnis verwendet werden. Der Einfachheit halber nennen wir dieses Verzeichnis aber hier und im folgenden Text "ffng-java-client")

5. Öffnen Sie die Seite https://[your fact-finder setup here]/fact-finder/swagger-ui.html (Ihre FactFinder-URL mit einem angehängten "/swagger-ui.html") in einem Internet-Browser Ihrer Wahl und kopieren Sie den Swagger-Link, der im oberen Bereich der angezeigten Seite erscheint . In diesem Beispiel-Screenshot ist der verlinkte Text "./rest/v5/swagger"  (Verwenden Sie nicht die ungültige URL, die in der Adresszeile des Browsers zu sehen ist) :

und führen sie folgendes Kommando auf der Kommandazeile aus:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i [an dieser Stelle muss der Swagger-Link eingefügt werden] -l java -o ./ffng-java-client 


6. cd ffng-java-client

7. Kopieren Sie das "Search with POST" Code Beispiel aus der Datei  ffng-java-client/docs/SearchApi.md  in eine Java-Sourcecode Datei, zum Beispiel ffng-java-client/src/main/java/examplecompany/ExampleSearchClient.java und fügen Sie notwendige Teile wie  "package examplecompany;" und "public class ExampleSearchClient{" ein . Wenn die Datei im Ordner ffng-java-client/src/main/java/ liegt, sind damit automatisch die generierten Klassen in der Java Datei verfügbar. Falls Ihr Java Code in einem anderen Verzeichnis liegt, müssen zusätzlich die generierten Klassen in Ihrem Projekt verfügbar gemacht werden.

8. a. Tragen Sie den korrekten Usernamen und das korrekte Passwort in den basicAuth-Teil des kopierten Codes ein und löschen Sie den OAuth2-Teil im kopierten Code.
8. b. Tragen Sie den korrekten Namen des FactFinder Channels ein.
8. c. Fügen Sie dieses oder eine ähnlichens Code-Snippet ein, um Ihrer Beispiel-Suchanfrage mit einer Search-Query abzuschicken:
SearchParams searchParams= new SearchParams();
searchParams.setQuery("*");
searchRequest.setParams(searchParams);

9. mvn clean install

10. Starten Sie Ihren ersten Beispiel Search-Client. Weil Apache Maven für den Build des Projekts verwendet wurde, ist es an dieser Stelle leicht, den Client auch über Maven zu starten:
mvn exec:java -Dexec.mainClass=examplecompany.ExampleSearchClient

(verwenden Sie 'mvn exec:java -D"exec.mainClass"=examplecompany.ExampleSearchClient' falls Sie die Windows Powershell verwenden)


Code für alle anderen möglichen Requests an den FactFinder kann auf eine ähnliche Art geschrieben werden. Man kann Code-Beispiele für alle Requests in den md-Dateien im generierten docs-Verzeichnis finden.