Получение Invalidprotocolbufferexception: при анализе сообщения протокола вход неожиданно заканчивался в середине поля. Ошибка при анализе ProTobuf < /p>
Не уверен, почему анализ, когда я не сбои, хотя я вижу вывод, если я вызову response.getContentAssTring () на объекте ответа. < /p>
my proto -файл: < /p>
file: < /p>
< /p>
< /p>
< /p>
< /p>
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
}
< /code>
Я написал API, чтобы вернуть ответ прото, который выглядит ниже < /p>
final Test2.Builder builder = TEST2.newBuilder();
builder.setId(1);
builder.setValue("1");
return builder.build();
< /code>
my api вернет ниже вывод < /p>
{"id": 1,"value": "1"}
< /code>
Я пытаюсь вызвать API и разобрать его обратно в Test2, как ниже < /p>
import com.test.protocol.v1.Test1.Test2;
final Test2 result = Test2.parseFrom(response.getContentAsByteArray());
< /code>
Получение ошибки на приведенном выше шаге, если я отлаживаю, и попытаюсь распечатать response.getContentAssTring (), я получаю правильный вывод, как ниже, но анализ терпит неудачу. < /p>
{"id": 1,"value": "1"}
Подробнее здесь: https://stackoverflow.com/questions/545 ... edly-in-th
Как исправить «при анализе сообщения протокола, вход неожиданно закончился в середине поля». ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение