# Wie man Swagger Codegen für die Integration über die API verwendet

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

## Wie man Java-Code mit Swagger Codegen 2 erzeugt

1\) git clone<https://github.com/swagger-api/swagger-codegen> (falls nötig, installieren Sie git bevor Sie diesen Befehl ausführen)

2\) cd swagger-codegen

3\) mvn clean package (falls nötig, installieren Sie vor Ausführung dieses Befehls die neueste Version von Java und Apache Maven)

4\) mkdir ffng-java-client (Sie können diesen Namen oder einen beliebigen anderen Namen für dieses Verzeichnis wählen. Der Einfachheit halber werden wir in der Anleitung auf dieses Verzeichnis als **ffng-java-client**)

5\) öffnen **https\://\[your** **FactFinder** **setup here]/Fact-Finder/swagger-ui.html** (Ihre FactFinder-URL mit angehängtem **/swagger-ui.html**) in Ihrem bevorzugten Browser und kopieren Sie den Swagger-Link, der im Kopfbereich der Seite erscheint. Im Beispiel-Screenshot unten ist der verlinkte Text **./rest/v5/swagger** (verwenden Sie nicht die ungültige URL, die im Screenshot zu sehen ist)

![](/files/9d849f38df23a5112c5dd29900bbb9235f467a0f)

und führen Sie aus:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i \[your swagger-link here] -l java -o ./ffng-java-client

Sie haben soeben Beispielcode für Clients erzeugt, die alle Arten von Anfragen senden können, die FactFinder akzeptiert.

6\) cd ffng-java-client

7\) kopieren Sie das **Search with POST** Code-Beispiel aus **ffng-java-client/docs/SearchApi.md** in eine Java-Quelldatei, zum Beispiel **src/main/java/examplecompany/ExampleSearchClient.java** und fügen Sie notwendige Teile ein, wie `package examplecompany;` und `public class ExampleSearchClient{`.

Machen Sie die generierten Klassen, siehe (5), im Klassenpfad Ihres Projekts verfügbar.

8a) tragen Sie die korrekten Zugangsdaten in den **basicAuth** Teil ein und löschen Sie den **OAuth2-part**

8b) setzen Sie den korrekten Namen des FactFinder-Kanals.

8c) fügen Sie diesen oder einen ähnlichen Code-Schnipsel ein, um die Suchanfrage zu setzen:

```language-plaintext
SearchParams searchParams= new SearchParams();
searchParams.setQuery("*");
searchRequest.setParams(searchParams);
```

9\) mvn clean install

10\) Führen Sie Ihren ersten Beispiel-Search-Client aus. Da Maven zum Erstellen des Projekts verwendet wurde, ist eine einfache Möglichkeit, Ihr Beispiel ebenfalls mit Maven zu starten:\
mvn exec:java -Dexec.mainClass=examplecompany.ExampleSearchClient

> (verwenden Sie mvn exec:java -D"exec.mainClass"=examplecompany.ExampleSearchClient, wenn Sie **Window's Powershell**)

Alle anderen Anfragen können in ähnlicher Weise erstellt werden. Codebeispiele dafür finden Sie in den md-Dateien im generierten Docs-Ordner.

## Wie man Python-Code mit Swagger CodeGen 2 erzeugt

1\) git clone<https://github.com/swagger-api/swagger-codegen> (falls nötig installieren Sie git bevor Sie diesen Befehl ausführen)

2\) cd swagger-codegen

3\) mvn clean package (falls nötig installieren Sie vor Ausführung dieses Befehls die neueste Version von Java und Apache Maven)

4\) mkdir ffng-python-client

5\) öffnen **https:FactFinder setup here]/Fact-Finder/swagger-ui.html** (Ihre FactFinder-URL mit angehängtem **/swagger-ui.html**) in Ihrem bevorzugten Browser und kopieren Sie den Swagger-Link, der im Kopfbereich der Seite erscheint. Im Beispiel-Screenshot unten ist der verlinkte Text **./rest/v5/swagger** (verwenden Sie nicht die ungültige URL, die im Screenshot zu sehen ist)

![](/files/98c93e6aae654ef9948287bdade61e1f351c2317)

und führen Sie aus:

-jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i \[your swagger-link here] -l python -o ./ffng-python-client

Sie haben soeben Beispielcode für Clients erzeugt, die alle Arten von Anfragen senden können, die FactFinder akzeptiert.

6\) cd ffng-python-client

7\) kopieren Sie das **Search with POST** Code-Beispiel aus **ffng-python-client/docs/SearchApi.md** in eine Python-Quelldatei, zum Beispiel **my-example-search-client.py**

8a) fügen Sie den folgenden Python-Code in Ihre Python-Datei ein:

```language-python
class MyConfiguration(swagger_client.Configuration):
 def auth_settings(self):
 return {
 'basicAuth':
 {
 'type': 'basic',
 'in': 'header',
 'key': 'Authorization',
 'value': self.get_basic_auth_token()
 }
 }
```

8b) ersetzen Sie die Zeile:

```language-python
configuration = swagger_client.Configuration()
```

mit der Zeile:

```language-python
configuration = MyConfiguration()
```

9a) tragen Sie die korrekten Zugangsdaten in den **basicAuth part** ein und löschen Sie den **OAuth2-part**

9b) setzen Sie den korrekten Namen des FactFinder-Kanals.

9c) fügen Sie diesen oder einen ähnlichen Code-Schnipsel ein, um die Suchanfrage zu setzen, indem Sie diese Zeile ersetzen:

```language-python
search_request = swagger_client.SearchRequest()
```

durch diese 3 Zeilen::

```language-python
query = "*"
search_params = swagger_client.SearchParams(query=query)
search_request = swagger_client.SearchRequest(search_params)
```

10. Starten Sie Ihren Search-Client und sehen Sie sich das JSON-Suchresultat an, das auf Standard-Ausgabe gedruckt wird.

Alle anderen Anfragen können in ähnlicher Weise erstellt werden. Codebeispiele dafür finden Sie in den md-Dateien im generierten Docs-Ordner.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fact-finder.com/integration/de/factfinder-search-integration/integrating-the-search-into-the-shop-system/how-to-use-swagger-codegen-for-the-integration-via-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
