Protobuf- & gRPC-Web-Tester
Lokales Codec · optionales gRPC-WebKompilieren Sie Proto‑Schemas, kodieren und dekodieren Sie Nachrichten, untersuchen Sie Wire‑Felder, vergleichen Sie Verträge und rufen Sie gRPC‑Web auf.
Schema, JSON und binäre Bytes bleiben im Speicher, es sei denn, Sie rufen explizit einen Endpunkt auf.
Bereit für ein Prototyp-Schema
Einfügen oder öffnen Sie eine .proto-Datei, um Nachrichten zu kompilieren, echte Bytes zu kodieren, das Drahtformat zu überprüfen, Verträge zu vergleichen und einen gRPC-Web-Aufruf zu konfigurieren.
So funktioniert es
- 01
Kompilieren Sie ein Protoschema
Fügen Sie eine .proto-Datei ein oder öffnen Sie sie und durchsuchen Sie Nachrichten, Aufzählungen, Dienste, Methoden, Feldnummern, Karten, wiederholte Felder und Streams.
- 02
Untersuchen Sie echte Bytes
Generieren Sie ProtoJSON, kodieren Sie es in Binärform, dekodieren Sie Hex oder Base64 und überprüfen Sie Tag-Nummern, Drahttypen, Offsets, Werte und Rohbytebereiche.
- 03
Vergleichen oder aufrufen
Erkennen Sie riskante Feld- und RPC-Änderungen oder senden Sie explizit eine gRPC-Web-Anfrage und überprüfen Sie Nachrichtenrahmen, Trailer, Status und generierten Abrufcode.
Häufig gestellte Fragen
Kann ein Browser einen normalen gRPC-Endpunkt direkt aufrufen?
Normalerweise nicht. Der Endpunkt oder Proxy muss gRPC-Web implementieren, die CORS-Anfrage dieser Site zulassen und bei Bedarf den gRPC-Status und die Nachrichtenheader offenlegen.
Welche Streaming-Modi funktionieren?
Unary requests are supported. Server-Streaming-Antworten können nach Abschluss der Antwort im grpc-web-text-Modus überprüft werden. Client- und bidirektionales Streaming sind hier nicht verfügbar.
Warum werden 64-Bit-Werte als Strings dargestellt?
ProtoJSON stellt 64-Bit-Ganzzahlwerte üblicherweise als Dezimalzeichenfolgen dar, sodass JavaScript außerhalb seines sicheren Ganzzahlbereichs nicht an Präzision verliert.
Ist das Umbenennen oder Entfernen eines Felds von Bedeutung, wenn die Drahtnummer stabil bleibt?
Eine Namensänderung kann zu Problemen mit JSON-Benutzern führen, während die Binärdrahtkompatibilität erhalten bleibt. Das Entfernen eines Felds ohne Reservierung seiner Nummer oder seines Namens birgt das Risiko einer zukünftigen Wiederverwendung, sodass das Diff es sichtbar hält.
Ähnliche Tools
Arbeiten Sie mit weiteren fokussierten Browser-Hilfsmitteln weiter.