获取 InvalidProtocolBufferException:解析协议消息时,输入在字段中间意外结束。解析 Protobuf 时出错
如果我在响应对象上调用 response.getContentAsString() 方法,虽然我可以看到输出,但不确定为什么解析失败。
我的原型文件:
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"}