Получение 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());
получаю ошибку на предыдущем шаге. Если я отлаживаю и пытаюсь напечатать ответ.getContentAsString(), я получаю правильный вывод, как показано ниже, но синтаксический анализ не удался.
{"id": 1,"value": "1"}