AIP GET是否需要有请求报文

Does AIP GET need to have a request message

阅读 AIP Get 文档时感到困惑。 https://google.aip.dev/131 首先,他们没有定义所用动词的意思。 “必须”、“应该”、“可以”等是什么意思。通常,他们没有指定是否需要请求消息,但他们声明“URI 应包含与资源名称对应的单个变量字段”。这是否意味着它只是建议使用变量?你可以有一个没有变量的 GET 吗?其次,如果它暗示这是一个建议,是否意味着它允许您可以使用一个空参数 google.protobuf.Empty 的 GET 方法 API? 我们的用例是 API 的参数是当前用户,我们将从服务上下文中获取,而不必将其添加为参数。

  1. MUST 这个词,或术语“REQUIRED”或“SHALL”,意思是 定义是规范的绝对要求。

  2. MUST NOT 这个短语,或短语“SHALL NOT”,意思是 定义是规范的绝对禁止。

  3. 应该这个词,或者形容词“推荐”,意思是 在特定情况下可能存在忽略某项的正当理由 特定项目,但必须了解其全部含义,并且 在选择不同的课程之前仔细权衡。

  4. SHOULD NOT 这个短语,或短语“不推荐”的意思是 在特定情况下可能存在正当理由 特定行为是可以接受的,甚至是有用的,但完整的 应理解其含义并仔细权衡个案 在实施使用此标签描述的任何行为之前。

  5. MAY 这个词,或者形容词“OPTIONAL”,意思是一个项目是 真正可选。一个供应商可能会选择包括该项目,因为 特定市场需要它,或者因为供应商认为 它增强了产品,而另一个供应商可能会忽略相同的项目。 不包含特定选项的实现必须是 准备与另一个实现互操作 包括该选项,尽管功能可能有所减少。在里面 同样包含特定选项的实现 必须准备好与另一个实现互操作 不包括该选项(当然,对于该功能 选项提供。)

所以所有包含“必须”的语句都是强制性的,其他则不是。