关于在 REST 中使用 Flatbuffer 的看法

Opinions on using Flatbuffer in REST

我想知道对 REST API 使用不同的序列化方法有何普遍看法。 JSON 和 XML 是最受欢迎的,但我想知道 Flatbuffers 中的序列化是否是一个可能的替代方案。

服务器端的反序列化在技术上比 JSON 便宜(最大的好处是“零拷贝”读取和大型服务器上的快速序列化响应)。在客户端浏览器上,FB 序列化会比 JSON 慢(JSON serial/deserial 是本机实现的)但我认为这是次要的,因为数据集非常小,用户不会注意到差异无论如何。

我想 REST 纯粹主义者会说这是禁忌。缺点是:

  1. 用于在 REST 中读取 FB 的工具还不完善
  2. 较大数据集的客户端性能不如
  3. 发送的 MIME 类型将是 application/octet,因为 FB 还没有自己的 MIME

这个想法来自于我在 gRPC 中使用 FB,现在必须通过浏览器接受请求。从 REST 转换添加了一个额外的序列化步骤(如果我采用类似的方法来使用 gRPC-Web)。

关于 REST 没有 明确规定或建议任何 mimetype。 REST 早于 JSON,所以纯粹主义者绝对不应该称之为禁忌 =)