2017-09-20 4 views
1

Mein Projekt übernimmt Proto3 Objekte als Eingabe. Aber manchmal Benutzer bieten Proto2 Objekt als Eingabe. In diesen Fällen möchten wir eine Ausnahme auslösen, da unser Code nur mit Proto3-Klassen arbeitet.Wie kann man die Protobuf-Version des Protobuf-Objekts bestimmen?

Wie können wir prüfen, ob das bereitgestellte Protobuf-Objekt Proto2 oder Proto3 ist?

Die Überprüfung auf Methoden Anwesenheit oder Standardwerte ist eine Art Hack. Gibt es eine geeignete Methode, um die Version des Protobuf-Objekts zu überprüfen?

Antwort

1

Sie müssen Ihr Protokollformat in der .proto Datei definieren. Die Proto-Datei beginnt mit

syntax = "proto3"; 
1

ich Antwort gefunden:

proto_verison = protobufObject.getDescriptorForType().getFile().getSyntax().name() 

Überprüfen Sie, ob seine "PROTO3"

Verwandte Themen