在阅读AIP Get的文档时令人困惑。https://google.aip.dev/131首先,他们没有定义所用动词的意思。什么是"必须"、"应该"、"可能"等等……的意思。一般来说,他们没有指定是否需要请求消息,但他们声明"URI应该包含一个与资源名称对应的单一变量字段"。这是否意味着使用变量只是一种建议?你可以有一个没有变量的GET ?第二,如果它暗示这是一个建议,这是否意味着它允许你使用一个空参数google.protobuf.Empty
的GET方法API ?在我们的用例中,API的参数将是当前用户,我们将从服务上下文中获得该用户,而不必将其作为参数添加。
-
必须这个词,或者术语"必需";或"应该",表示定义是规范的绝对要求。
-
绝不该短语或短语"不得"表示定义是对规范的绝对禁止。
-
SHOULD这个词或形容词"recommended"表示"推荐"在特定情况下是否存在正当理由忽视具体的项目,但其全部含义必须理解和在选择不同的课程之前仔细权衡。
-
SHOULD NOT这个短语,或者短语"不推荐"。意味着在特殊情况下,可能存在正当理由特定的行为是可以接受的,甚至是有用的,但是完整的应了解其含义,并仔细权衡案情
-
这个词,或者形容词"可选的",表示一个项目是可选的真正的可选的。一个供应商可能会选择包括项目,因为a特定的市场需要它,或者因为供应商觉得它增强了产品,而另一个供应商可能会忽略同一项。不包含特定选项的实现必须包含特定选项准备好与另一个实现进行互操作包括该选项,尽管可能会减少功能。在同样的道理也适用于包含特定选项的实现必须准备好与另一个实现互操作不包括选项(当然,除了功能的选项提供。)
所以所有包含"的语句必须"是必须的,其他的不是。