可以/应该在RESTful Web服务中使用YAML作为有效负载吗?

时间:2015-10-27 23:59:57

标签: json web-services rest yaml

正如标题所说。

总的来说,我最近比JSON更喜欢YAML。我使用JSON在第几天实现了RESTful WS PoC。我想知道我是否可以改用YAML。

E.g。有足够的工具/库/支持这样做吗?或者我最终会做一些平凡/乏味的编码,如果我使用JSON,我会避免这种编码?

正如我从WWW所理解的那样:REST并没有限制使用YAML作为有效载荷,这是正确的吗?

谢谢!

1 个答案:

答案 0 :(得分:8)

是的,如果这是一个人类特别可读的数据的目标。 REST本身并不像模式那样专注于协议/格式。

然而,这里的网络服务并没有太大的收获,通常代表应用程序与应用程序之间的通信。计算机并不关心,JSON可以打印得漂亮,以提高可读性。

YAML得到主流语言的支持,但并不总是像JSON那样始终包含在标准库中。所以你可能会看到一个额外的库依赖项。 此外,如果客户端是浏览器,则解析速度会变慢,因为您必须使用非本机外部lib,如此处所述:JavaScript YAML Parser。确保它在传输过程中被压缩,否则额外的缩进空间将扩大数据的大小。

此外,YAML有很多深奥和彻头彻尾的潜在危险特征。每当我使用它时,我都使用“安全”解析器,并且除了数据结构之外,还会停用许多(如果不是大多数)功能。

我可以将某个实用程序想象为调试参数,但在开发期间可能需要url.yaml…?fmt=yaml。但是,否则不会有太多的麻烦。