【问题标题】:GCP API methods: empty request body vs {}?GCP API 方法:空请求正文与 {}?
【发布时间】:2018-02-07 18:09:35
【问题描述】:

一些 GCP API 方法需要一个空的请求正文,而另一些则要求正文中包含 {}。我想不出任何模式。

需要空请求正文并在使用 {} 调用时返回错误的方法示例:

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

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

这很烦人 - 感觉就像是随机的差异散布在方法中?这里有什么押韵或理由吗? body {} 方法不能接受空主体吗?

一些似乎无法解释差异的想法:

  • 由于许多产品都使用 IAM,因此这些功能可能具有古怪的行为。但见上文 - getIamPolicy 因产品而异。

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

【问题讨论】:

    标签: google-api google-cloud-platform


    【解决方案1】:

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

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

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

    【讨论】:

    • 啊哈,谢谢! google-api-python-client 并没有使方法显而易见,甚至没有考虑过这种差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多