mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-31 09:48:06 -05:00
121 lines
4.2 KiB
Plaintext
121 lines
4.2 KiB
Plaintext
---
|
|
title: Antwort
|
|
---
|
|
|
|
import { Callout } from 'fumadocs-ui/components/callout'
|
|
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
|
|
import { Image } from '@/components/ui/image'
|
|
|
|
Der Response-Block formatiert und sendet strukturierte HTTP-Antworten zurück an API-Aufrufer. Verwenden Sie ihn, um Workflow-Ergebnisse mit korrekten Statuscodes und Headern zurückzugeben.
|
|
|
|
<div className="flex justify-center">
|
|
<Image
|
|
src="/static/blocks/response.png"
|
|
alt="Konfiguration des Antwort-Blocks"
|
|
width={500}
|
|
height={400}
|
|
className="my-6"
|
|
/>
|
|
</div>
|
|
|
|
<Callout type="info">
|
|
Response-Blöcke sind terminale Blöcke - sie beenden die Workflow-Ausführung und können nicht mit anderen Blöcken verbunden werden.
|
|
</Callout>
|
|
|
|
## Konfigurationsoptionen
|
|
|
|
### Antwortdaten
|
|
|
|
Die Antwortdaten sind der Hauptinhalt, der an den API-Aufrufer zurückgesendet wird. Diese sollten als JSON formatiert sein und können Folgendes enthalten:
|
|
|
|
- Statische Werte
|
|
- Dynamische Verweise auf Workflow-Variablen mit der `<variable.name>` Syntax
|
|
- Verschachtelte Objekte und Arrays
|
|
- Jede gültige JSON-Struktur
|
|
|
|
### Statuscode
|
|
|
|
Legen Sie den HTTP-Statuscode für die Antwort fest (standardmäßig 200):
|
|
|
|
**Erfolg (2xx):**
|
|
- **200**: OK - Standard-Erfolgsantwort
|
|
- **201**: Erstellt - Ressource erfolgreich erstellt
|
|
- **204**: Kein Inhalt - Erfolg ohne Antworttext
|
|
|
|
**Client-Fehler (4xx):**
|
|
- **400**: Ungültige Anfrage - Ungültige Anfrageparameter
|
|
- **401**: Nicht autorisiert - Authentifizierung erforderlich
|
|
- **404**: Nicht gefunden - Ressource existiert nicht
|
|
- **422**: Nicht verarbeitbare Entität - Validierungsfehler
|
|
|
|
**Server-Fehler (5xx):**
|
|
- **500**: Interner Serverfehler - Serverseitiger Fehler
|
|
- **502**: Bad Gateway - Fehler eines externen Dienstes
|
|
- **503**: Dienst nicht verfügbar - Dienst vorübergehend nicht erreichbar
|
|
|
|
### Antwort-Header
|
|
|
|
Konfigurieren Sie zusätzliche HTTP-Header, die in die Antwort aufgenommen werden sollen.
|
|
|
|
Header werden als Schlüssel-Wert-Paare konfiguriert:
|
|
|
|
| Schlüssel | Wert |
|
|
|-----|-------|
|
|
| Content-Type | application/json |
|
|
| Cache-Control | no-cache |
|
|
| X-API-Version | 1.0 |
|
|
|
|
## Beispielanwendungsfälle
|
|
|
|
**API-Endpunkt-Antwort** - Strukturierte Daten von einer Such-API zurückgeben
|
|
|
|
```
|
|
Agent (Search) → Function (Format & Paginate) → Response (200, JSON)
|
|
```
|
|
|
|
**Webhook-Bestätigung** - Bestätigung des Webhook-Empfangs und der Verarbeitung
|
|
|
|
```
|
|
Webhook Trigger → Function (Process) → Response (200, Confirmation)
|
|
```
|
|
|
|
**Fehlerantwort-Behandlung** - Angemessene Fehlerantworten zurückgeben
|
|
|
|
```
|
|
Condition (Error Detected) → Router → Response (400/500, Error Details)
|
|
```
|
|
|
|
## Ausgaben
|
|
|
|
Antwortblöcke sind endgültig - sie beenden die Workflow-Ausführung und senden die HTTP-Antwort an den API-Aufrufer. Es stehen keine Ausgaben für nachgelagerte Blöcke zur Verfügung.
|
|
|
|
## Variablenreferenzen
|
|
|
|
Verwenden Sie die `<variable.name>` Syntax, um Workflow-Variablen dynamisch in Ihre Antwort einzufügen:
|
|
|
|
```json
|
|
{
|
|
"user": {
|
|
"id": "<variable.userId>",
|
|
"name": "<variable.userName>",
|
|
"email": "<variable.userEmail>"
|
|
},
|
|
"query": "<variable.searchQuery>",
|
|
"results": "<variable.searchResults>",
|
|
"totalFound": "<variable.resultCount>",
|
|
"processingTime": "<variable.executionTime>ms"
|
|
}
|
|
```
|
|
|
|
<Callout type="warning">
|
|
Variablennamen sind Groß- und Kleinschreibung sensitiv und müssen exakt mit den in Ihrem Workflow verfügbaren Variablen übereinstimmen.
|
|
</Callout>
|
|
|
|
## Best Practices
|
|
|
|
- **Verwenden Sie aussagekräftige Statuscodes**: Wählen Sie passende HTTP-Statuscodes, die das Ergebnis des Workflows genau widerspiegeln
|
|
- **Strukturieren Sie Ihre Antworten einheitlich**: Behalten Sie eine konsistente JSON-Struktur über alle Ihre API-Endpunkte bei, um eine bessere Entwicklererfahrung zu gewährleisten
|
|
- **Fügen Sie relevante Metadaten hinzu**: Fügen Sie Zeitstempel und Versionsinformationen hinzu, um bei der Fehlerbehebung und Überwachung zu helfen
|
|
- **Behandeln Sie Fehler elegant**: Verwenden Sie bedingte Logik in Ihrem Workflow, um angemessene Fehlerantworten mit aussagekräftigen Meldungen zu setzen
|
|
- **Validieren Sie Variablenreferenzen**: Stellen Sie sicher, dass alle referenzierten Variablen existieren und die erwarteten Datentypen enthalten, bevor der Antwortblock ausgeführt wird
|