Получение InvalidProtocolBufferException: во время синтаксического анализа сообщения протокола ввод неожиданно завершился в середине поля.ошибка при синтаксическом анализе Protobuf
Не знаю, почему не удается выполнить синтаксический анализ, хотя я могу видеть выходные данные, если вызываю метод response.getContentAsString () для объекта ответа.
мой файл Proto:
syntax = "proto2";
package com.test.protocol;
option java_package = "com.test.protocol.v1";
option java_outer_classname = "Test1";
message Test2 {
required int64 id = 1;
required string value = 2
}
Я написал API для возврата ответа Proto, который выглядит следующим образом
final Test2.Builder builder = TEST2.newBuilder();
builder.setId(1);
builder.setValue("1");
return builder.build();
Мой API вернет следующий вывод
{"id": 1,"value": "1"}
Я пытаюсь вызвать API ипроанализируйте его обратно в Test2, как показано ниже
import com.test.protocol.v1.Test1.Test2;
final Test2 result = Test2.parseFrom(response.getContentAsByteArray());
получая ошибку на предыдущем шаге Если я отлаживаю и пытаюсь напечатать response.getContentAsString (), я получаю правильный вывод, как показано ниже, но синтаксический анализ не выполняется.
{"id": 1,"value": "1"}