# REST API - Get

Dieser Funktionsblock ist so konzipiert, dass er Daten von einem bestimmten REST-API-Server mithilfe einer GET-Anfrage abruft. Er ermöglicht es den Benutzern, eine Serveradresse anzugeben und eine optionale Daten-ID, um die entsprechenden Daten abzurufen.

## 📥 Eingänge <a href="#inputs" id="inputs"></a>

`Enable Condition` Eingabe eines boolean Wertes, der den API-Aufruf aktiviert, wenn er auf true gesetzt ist.

`Server Address` Eine Eingabezeichenfolge zur Angabe des Endpunkts der REST-API, von der Daten abgerufen werden.

`Data ID` Optionale Eingabezeichenfolge, um einen Schlüssel aus der API-Antwort anzugeben, um spezifische Daten zu extrahieren.

## 📤 Ausgänge <a href="#outputs" id="outputs"></a>

`Status Code` Diese Ausgabe zeigt den HTTP-Statuscode, der vom Server nach der GET-Anfrage zurückgegeben wird.

`Error` Diese Ausgabe gibt eine Fehlermeldung zurück, die vom Server empfangen wurde, falls die Anfrage nicht erfolgreich war.

`Response` Diese Ausgabe enthält die vom Server zurückgegebenen Daten, die entweder aus reinem Text oder JSON-Daten bestehen können, die der angegebenen Daten-ID entsprechen.

## 🕹️ Steuerungen <a href="#controls" id="controls"></a>

`Timeout (s)` Ein Textfeld, in dem der Benutzer die Timeout-Dauer für die Serveranfrage in Sekunden angeben kann.

## 🎨 Funktionen <a href="#features" id="features"></a>

`Conditional Execution` Dieser Block führt den API-Aufruf nur aus, wenn die Aktivierungsbedingung gesetzt ist, um Effizienz und Kontrolle über den Anfrageprozess zu gewährleisten.

`Dynamic Response Handling` Benutzer können sowohl rohe Antworten als auch spezifische Datenelemente aus der JSON-Antwort basierend auf der bereitgestellten Daten-ID empfangen.

## 📝 Nutzungshinweise <a href="#usage" id="usage"></a>

1. **Set Enable Condition**: Verbinden Sie einen boolean Wert, um die Ausführung der Anfrage zu aktivieren.
2. **Enter Server Address**: Geben Sie die REST-API-Endpunkt-URL in das Eingabefeld `Server Address` ein.
3. **Optional Data ID**: Wenn Sie ein bestimmtes Stück Daten aus der Antwort abrufen möchten, geben Sie den entsprechenden Schlüssel in das Eingabefeld `Data ID` ein.
4. **Set Timeout**: Geben Sie die Timeout-Dauer an, um auf die Serverantwort in Sekunden zu warten.
5. **Evaluate**: Führen Sie den Block aus, um die GET-Anfrage auszuführen und die Daten abzurufen.

## 📊 Bewertung <a href="#evaluation" id="evaluation"></a>

Bei der Auswertung führt dieser Funktionsblock die angegebene GET-Anfrage aus und gibt den Statuscode, etwaige Fehlermeldungen und den Inhalt der Antwort zurück.

## 💡 Tipps und Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

<details>

<summary>Gewährleistung der API-Zugänglichkeit</summary>

Stellen Sie vor dem Festlegen der Serveradresse sicher, dass der REST-API-Server erreichbar ist und die URL korrekt ist. Verwenden Sie Ihren Webbrowser, um zu überprüfen, ob der Endpunkt Daten zurückgibt.

</details>

<details>

<summary>Antworten debuggen</summary>

Wenn es ein Problem mit der Antwort gibt, überprüfen Sie die Ausgabe `Error` für weitere Informationen. Dies kann Aufschluss darüber geben, was schiefgelaufen ist (z. B. 404-Fehler, Serverunverfügbarkeit).

</details>

<details>

<summary>Umgang mit komplexen Antworten</summary>

Bei komplexen JSON-Antworten sollten Sie eine Kombination von Blöcken wie `JSON Parser` oder `Data Type Converter` in Betracht ziehen, um Daten weiter zu extrahieren und zu bearbeiten.

</details>

## 🛠️ Fehlersuche <a href="#troubleshooting" id="troubleshooting"></a>

<details>

<summary>Keine Antwort empfangen</summary>

Wenn Sie keine Antwort erhalten, überprüfen Sie, ob die Serveradresse korrekt ist, und prüfen Sie, ob der Server aktiv ist und in der Lage ist, Anfragen zu bearbeiten.

</details>

<details>

<summary>Timeout-Fehler</summary>

Wenn ein Timeout-Fehler auftritt, überlegen Sie, die Timeout-Dauer im Eingabefeld `Timeout (s)` zu erhöhen, um dem Server mehr Zeit zum Antworten zu geben.

</details>


---

# 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.augelab.com/german/function-blocks/input-output/communication/rest-api-get.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.
