如何使用协议缓冲区作为有效载荷格式发送HTTP请求?

时间:2014-11-06 23:51:10

标签: java junit protocol-buffers

我是协议缓冲库的新手。我知道如何使用JSON作为我的有效载荷格式从Web服务发送请求和获取响应......但我不知道如何使用protobuf执行相同操作。< / p>

有人可以帮助并列出一个小例子吗?

Fmy我的项目,我想将以下三件事发送到服务器:

{ 

    "session_id": "xxxxxx",
    "location": {
        "latitude": xx.xx,
        "longitude": xx.xx
    }
}

感谢任何帮助。非常感谢提前

1 个答案:

答案 0 :(得分:0)

问题是Javascript无法轻松处理纯二进制格式,这是protobuffers中的有线格式。你可以只是通过HTTP发送有线格式,但在客户端可能很难处理它。

因此,您可以做的是在服务器端将protobuf消息序列化和反序列化为JSON,并将其用于客户端和服务器之间的传输。您可以使用https://code.google.com/p/protobuf-java-format/在Java中执行这些转换。

然而,这个库看起来很有趣,它似乎实际上在javascript中处理二进制wireformat:https://github.com/dcodeIO/ProtoBuf.js