Zum Hauptinhalt springen

Anfragen speichern und Protokollbeispiele

Powerduck trennt die getestete Anfrage vom veröffentlichten API-Vertrag.

AktionErgebnis
Speichern in der URL-LeisteSpeichert die lokale Debugging-Konfiguration dieser Anfrage. Das OpenAPI-Dokument bleibt unverändert.
Schnellanfrage: In Spezifikation speichernFügt dem ausgewählten Dokument und Ordner eine Operation hinzu.
Spezifikationsanfrage: Spezifikation aktualisierenZeigt vor der Vertragsänderung die Zielmethode, den Zielpfad und eine Vorschau der Definition.
Dokument speichern / Cmd+S oder Ctrl+SSchreibt das aktuelle OpenAPI-Dokument auf die Festplatte. In einem Schnellanfrage-Tab speichert das Tastenkürzel diese Schnellanfrage.

Die lokale Anfrage enthält den ausgewählten Server, URL, Methode, Parameterwerte, Body, Skripte und Transporteinstellungen. Entwürfe von Spezifikationsanfragen bleiben während der Bearbeitung im Arbeitsspeicher; Speichern in der URL-Leiste persistiert sie unter powerduck.debug.v1: im Speicher des Renderer-Prozesses. Einträge sind nach Dokument-ID, Pfad und Methode getrennt. Das Löschen von Browser- oder Anwendungsdaten entfernt diesen lokalen Zustand; ein OAS-Export enthält ihn nicht. Dieser Speicher ist kein verschlüsselter Geheimnisspeicher: Verwenden Sie Umgebungsreferenzen statt Klartext-Zugangsdaten in URLs, Headern oder Bodys. Die Authentifizierungsfelder nutzen einen separaten Persistenzweg für Zugangsdaten.

x-powerduck-request ist keine offizielle Vertragserweiterung. Beim Hinzufügen zur oder Aktualisieren der Spezifikation wird sie nicht ausgegeben. Sie darf keine Methode, Parameter, Anfragebodys oder Antworten beschreiben. Das bloße Öffnen eines Dokuments verändert bestehende Vorkommen in anderen Operationen nicht.

Definitionen gezielt aktualisieren​

Die Spezifikationsaktualisierung zeigt Zielmethode und Zielpfad in der Vorschau und behält vorhandene Antworten und Schemas bei. Parameterdefinitionen werden nur nach ausdrücklicher Auswahl übernommen; Debugging-Parameterwerte werden nicht kopiert. Ein JSON-Body wird nur bei ausdrücklicher Auswahl als Beispiel hinzugefügt. Übliche Zugangsdaten-Feldnamen werden ausgeschlossen, dennoch sollten Sie Freitext und Beispiele vor der Veröffentlichung prüfen. Skripte und Authentifizierungsüberschreibungen sind keine Vertragsfelder.

Eine vorhandene Zieloperation lässt sich nicht durch Ändern von Methode oder Pfad überschreiben. Lokale Operationsreferenzen werden angepasst. Eine benutzerdefinierte Methode wie PURGE wird unter paths./cache.additionalOperations.PURGE gespeichert und benötigt OpenAPI 3.2. Die Vorschau weist darauf hin; beim Anwenden wird die Dokumentversion auf 3.2.0 gesetzt. Prüfen Sie auch, ob nachgelagerte Werkzeuge diese Version unterstützen.

Protokollschemas können weiterhin über Dokumentation bearbeiten geändert werden. Dabei wird die Definition ausdrücklich angepasst; das Senden oder Speichern einer Debugging-Anfrage schreibt Protokollschemas nicht unbemerkt um.

Offizielle Beispiele zum Herunterladen​

Dies sind gepflegte Beispieldefinitionen, keine öffentlichen API-Dienste von Powerduck. Alle Endpunkte verweisen auf lokale Dienste, die Sie bereitstellen müssen. Der Import startet diese Dienste nicht, verbindet sich nicht automatisch und stellt keine Zugangsdaten bereit.

Laden Sie für gRPC echo.proto neben die YAML-Datei herunter und wählen Sie bei Bedarf den tatsächlichen lokalen Pfad im Client aus. Der Server muss powerduck.examples.Echo/Echo auf Port 50051 implementieren. Auch die anderen Beispiele benötigen einen passenden Server; sie demonstrieren keine Validierung gegen ein laufendes Backend.

Referenz der Vertragserweiterungen​

Jede Operation besitzt eine gewöhnliche OAS-Methode, operationId, summary und responses. Nicht-HTTP-Bindungen verwenden eine OAS-Operation als Dokumentationsanker; post im gRPC-Beispiel bedeutet nicht, dass gRPC in einen REST-Endpunkt umgewandelt wurde.

ErweiterungBedeutung und in den Beispielen verwendete Felder
x-protocolsse, websocket, graphql, grpc, mcp oder a2a. Für HTTP optional.
x-sessionDeklariert eine langlebige Protokollsitzung; die Beispiele verwenden dies für WebSocket und MCP.
x-websocketurl, optional subprotocols, headers und messages. Jede dokumentierte Nachricht enthält id, name, type, body, requestSchema, responseSchema. Header dürfen keine Zugangsdaten enthalten.
x-graphqlendpoint, query, operationName, variablesSchema, öffentliche variables, responseSchema.
x-grpcaddress, service, method, kind, reflection, protoPaths, includeDirs und dokumentierte messages. kind unterstützt unary/server_streaming/client_streaming/bidi_streaming. Lokale proto-Pfade sind installationsabhängig.
x-mcptransport, endpoint, method sowie methodenspezifische Felder name, argumentsSchema, öffentliche arguments, responseSchema. Ressourcenoperationen verwenden uri; vermischen Sie keine Felder unterschiedlicher Methoden.
x-a2aExplizite version, binding, endpoint, method, requestSchema, responseSchema und öffentliches example. Die Nutzdaten von 0.3 und 1.0 unterscheiden sich; siehe A2A.
x-response-streamOptionale GraphQL-Streaming-Absicht, wenn Server und Transport tatsächlich Streaming unterstützen. Für normale GraphQL-Anfragen nicht erforderlich.

SSE beschreibt die Nutzdaten jedes Ereignisses über das Standardfeld responses.200.content.text/event-stream.itemSchema. HTTP verwendet die üblichen Parameter, requestBody, responses und Sicherheitsschemas. Erfinden Sie keinen x-sse-Konfigurationsblock und speichern Sie Debugging-Zustände nicht als Vertragserweiterung.

Die Beispiele enthalten vollständige, nutzbare Konfigurationen für die gewählte Bindung, nicht alle sich gegenseitig ausschließenden Optionen. MCP stdio benötigt ein separat konfiguriertes lokales Programm; die herunterladbaren Beispiele starten es bewusst nicht automatisch.

Paketintegration​

Die Desktop-Oberfläche verwaltet den lokalen Debugging-Speicher und explizite Schreibvorgänge an der Spezifikation. @powerduck/openapi-parser liest benutzerdefinierte Methoden bereits über additionalOperations; @powerduck/tree und @powerduck/oas-document verarbeiten diese Vertragsstruktur. @powerduck/openapi-request erhält Laufzeitargumente getrennt von der Spezifikation. Die Anfrageausführung benötigt kein x-powerduck-request.

Die Trennung der Speichervorgänge führt keine neuen öffentlichen npm-Parameter ein. Verwenden Sie vorhandene Protokollerweiterungen für Vertragsdaten und übergeben Sie aktuelle Debugging-Werte an die Ausführungs-API. Exporter, Generatoren und MCP-Werkzeuge sollten die private Anfragezustandsstruktur nicht auswerten.