GCP API方法:空请求正文vs {}?

时间:2018-02-07 01:33:42

标签: google-api google-cloud-platform

某些GCP API方法需要一个空的请求主体,其他需要{}。我无法弄清楚任何模式。

需要空请求主体的方法示例,如果使用{}调用则返回错误:

在正文中需要{}的方法示例,如果使用空主体调用则返回错误:

令人困惑的是,所有这四个文档都说请求体必须为空!对于第二组,我说这是一个错误:正文必须非空;它必须是{}。

这非常令人讨厌 - 感觉就像随机差异在各种方法中pe?这里有押韵或理由吗?身体{}方法无法接受一个空体?

有些想法似乎无法解释其中的差异:

  • 由于许多产品使用IAM,因此这些功能可能具有奇怪的行为。但请参见上文 - 产品之间的getIamPolicy不同。

  • 不同的产品团队可以决定不同的地方惯例。但请参见上文 - pubsub API在每个阵营都有调用。

1 个答案:

答案 0 :(得分:1)

您共享的前两个链接是HTTP GET方法,它们不应该有正文,因为它应该只检索数据,并且所有信息都可以通过URL和一些查询参数传递。

其他两个链接是HTTP PUT方法,它们希望有效负载更新给定实体的当前内容。

您可以在IETF RFC 2616中找到有关如何定义HTTP方法的更多说明,解释HTTP协议。