tommwq.work/aip

AIP-4235

· [tommwq@126.com]

自动填充请求消息中的字段

对于利用请求幂等性的API(如AIP-155所述),API可以选择让客户端库自动填充字段,例如`request_id`,如果客户尚未设置这些字段。

注意: 此功能主要是为请求消息中的`request_id`字段编写的。然而,此功能**必须**适用于任何名称的字段,只要满足以下条件。

指南

API**可以**配置请求消息中的字段以进行自动填充。要自动填充字段,**所有**以下条件**必须**为真:

预期的生成器和客户端库行为

如果给定字段满足上述要求,客户端库生成器**必须**在生成的客户端中启用该字段的自动填充。

字段**必须**在以下任一条件成立时自动填充:

  • 字段支持显式存在,并且**未**由用户设置
  • 字段不支持显式存在,并且其值为空字符串(即默认值)

如果字段在`auto_populated_fields`中指定,但不满足结构要求,客户端库生成器**不得**启用该字段的自动填充。客户端库生成器**可以**在生成期间发出错误。

客户端库**必须**重用自动填充的值以重试相同的请求。换句话说,自动填充的字段**不得**为每个使用相同请求消息的RPC尝试重新生成。